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
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
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
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
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
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
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
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.
| Type | Tag | Format | Example | Use Case |
|---|---|---|---|---|
| Mobile Number | 01 | 60123456789 | 0123456789 → 60123456789 | Personal P2P payments, most common for individuals |
| MyKad IC Number | 02 | YYMMDD-PB-###G | 900101-14-5678 → 900101145678 | Malaysian citizens and permanent residents |
| Passport Number | 03 | As on passport | A12345678 | Foreign nationals with Malaysian bank accounts |
| Business Registration (ROC/ROB) | 04 | XXXXXXXXXX (ROC) / XXXXXXXX (ROB) | 202301234567 or 1234567-A | Incorporated companies and registered businesses |
| Others | 05 | Varies | Special identifiers | Government 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 ID | Field Name | Example Value | Required | Description |
|---|---|---|---|---|
| 00 | Payload Format Indicator | 01 | Required | Always "01" – EMV Merchant Presented Mode version |
| 01 | Point of Initiation Method | 11 or 12 | Required | 11 = static (payer enters amount), 12 = dynamic (amount in QR) |
| 26 | Merchant Account – DuitNow | AID + DuitNow ID | Required | AID: A000000693010011, followed by proxy type tag and value |
| 52 | Merchant Category Code | 0000 | Required | ISO 18245 MCC – business category (0000 = not assigned) |
| 53 | Transaction Currency | 458 | Required | ISO 4217 numeric code for Malaysian Ringgit (MYR) |
| 54 | Transaction Amount | 10.50 | Optional | Present in dynamic QR only; omitted in static codes |
| 58 | Country Code | MY | Required | ISO 3166-1 alpha-2 – Malaysia |
| 59 | Merchant Name | Ahmad Grocery | Required | Name shown to payer on confirmation screen, max 25 characters |
| 60 | Merchant City | Kuala Lumpur | Required | City of the merchant |
| 62 | Additional Data Field | bill / reference | Optional | Optional bill number, terminal ID, or payment reference |
| 63 | CRC | 4-digit hex | Required | CRC16-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.
0123456789→60123456789+60123456789→6012345678960123456789→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 2021PayNow · Most active corridor; SGD↔MYR
Thailand
Since 2022PromptPay · THB↔MYR real-time conversion
Indonesia
Since 2022QRIS · IDR↔MYR for ASEAN travel
Philippines
Since 2023QR 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.
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.
| Feature | IBG (legacy) | DuitNow (current) |
|---|---|---|
| Processing | Batch (next business day) | Real-time (seconds) |
| Availability | Business hours only | 24/7/365 |
| Cost (personal) | RM 0.10 – RM 2.00 per txn | Free up to RM 5,000 |
| Limit | Varies by bank | RM 50,000 standard |
| Identifier | Bank account + routing code | Phone / IC / business reg. |
| Merchant QR | Not supported | Native DuitNow QR support |
| Status | Discontinued / legacy | Current 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 →