How DuitNow Works โ€“ Complete Guide

Everything about Malaysia's national instant payment system: DuitNow IDs, QR format, ASEAN cross-border payments and getting started.

What is DuitNow?

DuitNow is Malaysia's national instant payment system, developed and operated by PayNet (Payments Network Malaysia) โ€” a joint venture owned by Bank Negara Malaysia (BNM) and eleven major Malaysian financial institutions. Launched in 2018, DuitNow replaced the older, slower Interbank GIRO (IBG) system and unified all Malaysian banks under a single real-time payment infrastructure.

The name "DuitNow" combines the Malay word for money (duit) with "Now" โ€” reflecting its core promise of instant transfers. Unlike traditional bank transfers that require knowing a recipient's account number and bank routing code, DuitNow allows payments using a simple proxy identifier: a mobile phone number, MyKad IC number, passport number, or business registration number.

DuitNow has grown into the backbone of Malaysian digital payments. As of 2025, it connects over 30 million registered users across all licensed Malaysian banks and major e-wallets. Payments process in seconds, available 24 hours a day, 7 days a week โ€” including public holidays. DuitNow is free for personal transfers up to RM 5,000.

DuitNow QR โ€” the QR code payment component of the DuitNow ecosystem โ€” is based on the EMV Merchant Presented Mode (MPM) standard, the same technical foundation used by QRIS (Indonesia), PromptPay (Thailand), and PayNow (Singapore). The DuitNow QR Application Identifier (AID) is A000000693010011, embedded in EMV tag ID 26 of every DuitNow QR code.

How DuitNow Works โ€“ Step by Step

  1. 1

    Merchant displays DuitNow QR code

    Static codes (open amount) are printed and displayed at the counter. Dynamic codes with a preset amount are generated per transaction for e-commerce or invoices.

  2. 2

    Customer opens any DuitNow-enabled app

    Maybank2u, CIMB Clicks, RHB Now, Hong Leong Connect, Touch 'n Go eWallet, Boost, GrabPay Malaysia โ€” all apps are fully interoperable through PayNet's switching infrastructure.

  3. 3

    Customer scans the DuitNow QR code

    The app activates the QR scanner. The DuitNow code can be scanned from a printed sticker, phone screen, PDF invoice or any display surface.

  4. 4

    Payment details pre-fill automatically

    Merchant name, DuitNow proxy type, and amount (if embedded) are parsed from the EMV payload. For static QR, the customer enters the payment amount.

  5. 5

    Customer authenticates the payment

    Authentication is done through the banking app (PIN, password, or biometrics). No sensitive credentials are stored in the QR code itself.

  6. 6

    PayNet routes and settles in real time

    PayNet's national switching infrastructure processes and settles the transaction instantly โ€” 24/7, including weekends and public holidays.

  7. 7

    Both parties receive instant confirmation

    Payer gets a transaction success notification with reference number. Merchant's account is credited immediately with SMS and in-app notification.

DuitNow ID Types Explained

DuitNow uses proxy identifiers โ€” human-readable addresses that map to bank accounts in PayNet's registry. Instead of sharing your account number, you share your DuitNow proxy. The proxy type is encoded in EMV tag ID 26 of the DuitNow QR payload.

TypeTagFormatExampleUse Case
Mobile Number01601234567890123456789 โ†’ 60123456789Personal P2P payments, most common for individuals
MyKad IC Number02YYMMDD-PB-###G900101-14-5678 โ†’ 900101145678Malaysian citizens and permanent residents
Passport Number03As on passportA12345678Foreign nationals with Malaysian bank accounts
Business Registration (ROC/ROB)04XXXXXXXXXX (ROC) / XXXXXXXX (ROB)202301234567 or 1234567-AIncorporated companies and registered businesses
Others05VariesSpecial identifiersGovernment agencies and special-purpose entities

The DuitNow QR Payload โ€“ EMV Format

A DuitNow QR code encodes a sequence of TLV (Tag-Length-Value) fields as a single ASCII string. The format follows the EMV Merchant Presented Mode (MPM) specification, with the DuitNow-specific Application Identifier (AID) embedded in tag ID 26. Here is a complete example of a static DuitNow QR payload (mobile number proxy):

000201
010211
2966
  0016A000000693010011
  011560123456789
52040000
5303458
5802MY
5913Ahmad Grocery
6011Kuala Lumpur
630412AB

The spaces and line breaks are for readability only โ€” the actual payload is a continuous string. Tag 26 is the critical DuitNow identifier: it starts with sub-tag 00 containing the AID A000000693010011, followed by the proxy type sub-tag (01 = mobile) and the normalized mobile number. Tag 63 contains the CRC16-CCITT checksum (4-digit hex).

Tag IDField NameExample ValueRequiredDescription
00Payload Format Indicator01RequiredAlways "01" โ€“ EMV Merchant Presented Mode version
01Point of Initiation Method11 or 12Required11 = static (payer enters amount), 12 = dynamic (amount in QR)
26Merchant Account โ€“ DuitNowAID + DuitNow IDRequiredAID: A000000693010011, followed by proxy type tag and value
52Merchant Category Code0000RequiredISO 18245 MCC โ€“ business category (0000 = not assigned)
53Transaction Currency458RequiredISO 4217 numeric code for Malaysian Ringgit (MYR)
54Transaction Amount10.50OptionalPresent in dynamic QR only; omitted in static codes
58Country CodeMYRequiredISO 3166-1 alpha-2 โ€“ Malaysia
59Merchant NameAhmad GroceryRequiredName shown to payer on confirmation screen, max 25 characters
60Merchant CityKuala LumpurRequiredCity of the merchant
62Additional Data Fieldbill / referenceOptionalOptional bill number, terminal ID, or payment reference
63CRC4-digit hexRequiredCRC16-CCITT checksum of the entire payload including "6304"

Mobile Number Normalization

Malaysian mobile numbers must be normalized to the international format before being embedded in a DuitNow QR payload. The rule is straightforward: remove the leading zero and prepend country code 60.

Input:0123456789โ†’60123456789
Input:+60123456789โ†’60123456789
Input:60123456789โ†’60123456789(already normalized)

TypeScript implementation used by QRPayHub's DuitNow generator:

function normalizeMalaysianMobile(input: string): string {
  const digits = input.replace(/\D/g, '');
  if (digits.startsWith('60')) return digits;
  if (digits.startsWith('0'))  return '6' + digits;
  return '60' + digits;
}

DuitNow's ASEAN Cross-Border Network

PayNet has established bilateral QR payment linkages with several ASEAN neighbors, enabling Malaysians to pay abroad and foreign visitors to pay at Malaysian merchants โ€” all without cash or currency exchange. The infrastructure converts between currencies at the prevailing real-time exchange rate.

๐Ÿ‡ธ๐Ÿ‡ฌ

Singapore

Since 2021

PayNow ยท Most active corridor; SGDโ†”MYR

๐Ÿ‡น๐Ÿ‡ญ

Thailand

Since 2022

PromptPay ยท THBโ†”MYR real-time conversion

๐Ÿ‡ฎ๐Ÿ‡ฉ

Indonesia

Since 2022

QRIS ยท IDRโ†”MYR for ASEAN travel

๐Ÿ‡ต๐Ÿ‡ญ

Philippines

Since 2023

QR Ph ยท PHPโ†”MYR bilateral linkage

The Malaysia-Singapore PayNow-DuitNow linkage is the most mature and heavily used corridor, reflecting the strong trade and tourism ties between both countries. Singapore residents can scan a DuitNow QR code in Malaysia using their PayNow app, paying in SGD while the merchant receives MYR โ€” all settled in seconds.

Supported Banks & E-Wallets

All licensed Malaysian banks and major e-wallets participate in the DuitNow ecosystem. Every app is fully interoperable โ€” a payment from Maybank2u arrives instantly in a Boost e-wallet, and vice versa. PayNet operates the central switching infrastructure that connects all participants.

MaybankCIMBPublic BankRHBHong LeongAmBankAffin BankAlliance BankBank IslamBank MuamalatBSNTouch 'n GowalletBoostwalletGrabPaywalletShopeePay MYwalletAll licensed banks

DuitNow vs IBG โ€“ What Changed

Before DuitNow, Malaysian interbank transfers relied on IBG (Interbank GIRO) โ€” a batch processing system that was slow, limited to business hours, and charged fees. DuitNow replaced IBG as the primary interbank transfer method, delivering a dramatically better user experience.

FeatureIBG (legacy)DuitNow (current)
ProcessingBatch (next business day)Real-time (seconds)
AvailabilityBusiness hours only24/7/365
Cost (personal)RM 0.10 โ€“ RM 2.00 per txnFree up to RM 5,000
LimitVaries by bankRM 50,000 standard
IdentifierBank account + routing codePhone / IC / business reg.
Merchant QRNot supportedNative DuitNow QR support
StatusDiscontinued / legacyCurrent standard

The transition was phased in over several years, with IBG officially discontinued for most use cases by 2023. Most Malaysians today use DuitNow for all their interbank transfer needs, with IBG only remaining for legacy batch processing in specific corporate contexts.

Ready to generate your DuitNow QR Code?

Free, instant, works with Maybank, CIMB, Touch'n Go, Boost and all DuitNow apps.

Open DuitNow Generator โ†’