Skip to content
barcoder

Standards/promptpay-qr

PromptPay QR

TypeQR Code
PrimaryTH
MentionedLATH
Completeness89%high

Overview

PromptPay is Thailand's national real-time interbank payment system, launched in December 2016 by the National ITMX (NITMX) under Bank of Thailand oversight 1, 2. The PromptPay QR standard is its merchant-presented QR profile, based on the EMVCo MPM specification with a Thailand-specific assigned tag (TAC 30) 3, 4. By December 2025 the system handled ~74 million daily transactions across 82.2 million registrations (90 M+ cumulative), with 2.26 billion transactions in a single month (November 2025) worth THB 4.19 trillion — making it one of the highest per-capita transaction-rate digital-payment rails in Southeast Asia, with ~400,000 registered businesses on PromptPay Thailand report. PromptPay QR is cross-border-linked with seven ASEAN neighbours Thailand report.

The underlying real-time switch was built by Vocalink (Mastercard), drawing on Vocalink's UK Faster Payments and India IMPS lineage 5.

History

In December 2016 the National Interbank Transaction Management and Exchange (NITMX, the Thai interbank switch) launched PromptPay as a person-to-person interbank credit transfer service operating 24/7/365 1. The interbank credit transfer service was activated on 27 January 2017 for general public use 1. The original launch enabled transfers using a registered proxy (mobile phone number, national citizen ID, or business registration number) rather than requiring full bank account details — the same proxy-based addressing model that India's UPI uses with VPAs 2.

The QR-based payment overlay, branded MyPromptQR, was introduced in September 2019, enabling merchant-presented and consumer-presented QR payments on top of the underlying PromptPay rail 1. The QR layer adopted the EMVCo Merchant-Presented Mode specification with Thailand-specific extensions.

Vocalink's role: Vocalink (then a Mastercard subsidiary) was contracted by the Thai Bankers' Association to design and build the underlying Real-Time Payments Switch and Multi-Proxy Platform. Vocalink spent 12 months in business-requirements assessment and built on its experience with the UK Faster Payments Service and India's IMPS 5.

Cross-border milestones Thailand report:

  • April 2021: PromptPay ↔ PayNow (Singapore) live for instant cross-border P2P.
  • 2022–2024: PromptPay ↔ DuitNow (Malaysia), QRIS (Indonesia), KHQR (Cambodia), LaoQR (Laos).
  • 2024–2025: Japan and China connectivity under development.

Technical specification

PromptPay QR is an EMVCo Merchant-Presented Mode (MPM) profile with a Thailand-specific application identifier 3, 4.

EMVCo MPM foundation 6:

  • Payload format: TLV (Tag-Length-Value) plain-text string
  • Integrity: CRC-16/CCITT-FALSE appended as field 63
  • Static and dynamic QR variants supported
  • Underlying symbology: QR Code

Thailand-specific extensions 4:

  • EMVCo reserves tag numbers 26–52 for local card schemes; PromptPay uses TAC 30 for the Thai-PromptPay merchant-account-information template
  • Internal switch messaging uses ISO 20022 5
  • Currency code: 764 (THB)

Proxy identifier types for the PromptPay account encoded in the QR Thailand report:

  • Mobile phone number (Thailand-formatted)
  • Citizen ID (13-digit Thai national ID)
  • Business registration number (for merchants)
  • E-wallet ID

Settlement uses the underlying PromptPay rail (NITMX switch operated under Bank of Thailand supervision) 1. Person-to-person transfers are fee-free; merchant fees are minimal compared to card rails Thailand report.

Use cases

  • Person-to-person transfers — the launch use case. Free, instant, replaces cash for splitting bills, paying friends 2.
  • Retail point of sale — every shop from street stalls to large chains displays a static PromptPay QR; market-share grew from negligible in 2017 to 42.7 % of 2024 transaction value via QR Thailand report.
  • Tourism — the 7-country cross-border QR mesh (SG, MY, ID, LA, KH, CN, JP-planned) makes PromptPay one of the most internationally interoperable national QR rails; tourists from member countries scan Thai PromptPay QRs with their home banking app Thailand report.
  • Government and tax payments — disbursements and collection between citizens and government 2.
  • Bill payments — utilities, telecom, insurance.
  • E-commerce checkout — dynamic PromptPay QR generated per-cart on Thai e-commerce sites.

Adoption metric: 92 % of the Thai population uses digital payments Thailand report — a remarkable transition from a cash-dominant economy in under a decade.

Implementations

PromptPay's open EMVCo TLV structure produced a strong open-source library ecosystem.

Encoders / decoders:

  • JavaScript — dtinth/promptpay-qr — 314★, 2022. The most-starred PromptPay library. Ships as a web app at promptpay2.me, a CLI, and a JavaScript library. Encodes the EMV QRCPS Merchant Presented Mode payload, embeds a PromptPay proxy (mobile or citizen ID) and optional amount 7.
  • C# / .NET Standard 2.0 — saladpuk/PromptPay — 91★, 2021. Read, write, and validate PromptPay QR codes per the EMVCo standard. Supports static and dynamic QR generation for credit transfers and bill payments 8.
  • Go — Frontware/promptpay — Go library for generating PromptPay QR codes 9.
  • Dart/Flutter — emv_qr_builder package on pub.dev — EMVCo TLV builder with PromptPay support 10.

Bank apps (canonical production implementations): K PLUS (Kasikornbank), SCB EASY, Bangkok Bank Mobile, Krungthai NEXT, KMA (Krungsri), plus e-wallets TrueMoney, Rabbit LINE Pay, ShopeePay Thailand report. All major Thai bank apps both scan and generate PromptPay QRs.

Decoders: any QR scanner produces the TLV string; the EMVCo parse is generic. The C# library above does full parse + validate.

Comparison

vs. SGQR (Singapore) and DuitNow QR (Malaysia) — Same EMVCo MPM technical foundation; same launch era (2018–2019); same central-bank-affiliated operator model. SGQR uniquely combines many schemes (card networks + e-wallets + bank rails) under one QR; PromptPay is bank-rail-only via NITMX; DuitNow is bank + e-wallet Singapore report, Malaysia report, Thailand report. All three are connected in a multilateral ASEAN cross-border QR network.

vs. UPI QR (India) — Both are central-bank-driven national instant-payment rails with proxy-based addressing (Pix key / VPA / PromptPay ID). UPI uses a upi://pay?... deep link rather than EMVCo TLV; PromptPay uses EMVCo TLV. UPI scale is two orders of magnitude larger (250B vs ~28B annual transactions), reflecting India's population but also UPI's earlier launch and zero merchant fee India report, Thailand report.

vs. Pix (Brazil) — Both used Vocalink/Mastercard advisory work in their design phase; both adopted EMVCo MPM for the QR layer; both are bank-rail-only proxy-addressed instant payment systems. Pix launched later (2020) but scaled faster due to mandatory bank participation [pix-ref].

Fun facts

PromptPay's growth made Thailand one of Southeast Asia's leading per-capita digital-payment markets, with ~74 million daily transactions across 82 million registrations (~1+ transaction per day per Thai resident) and 2.26 billion transactions in a single month (November 2025) Thailand report. (Note: a previous version of this entry cited "538 transactions per person per year"; that figure actually describes Malaysia's 2025 cashless-payment-per-capita statistic and has been removed.)

The PromptPay rail was built by Vocalink, the same Mastercard subsidiary that built the UK's Faster Payments Service (FPS) and India's IMPS 5. The 12-month design phase explicitly drew on those earlier implementations — PromptPay is the third instance of the same architectural lineage, and arguably the most successful per-capita of the three.

PromptPay was an unusually government-led top-down rollout: the Bank of Thailand and Thai Bankers' Association coordinated a single nationwide proxy registry (mobile/citizen-ID → bank account) and required all member banks to participate. This is part of why adoption was faster than India's UPI (which is also broad but multi-app from day one) and Brazil's Pix (which similarly mandated bank participation). The proxy-registry approach is now the reference pattern for new national instant-payment systems 5.

Status

Active, dominant, and internationally connected. Most recent transaction volumes:

Cross-border integrations remain a focus — Japan and China connections are under development; eight ASEAN+ countries are currently live or rolling out Thailand report. Thailand is piloting a CBDC (digital baht) alongside, but this is positioned as complementary rather than a replacement for PromptPay Thailand report.

No deprecation planned. Tourism-driven cross-border QR growth has been a particular driver: foreign tourists from connected countries can scan a Thai PromptPay QR with their home banking app and pay in local currency, removing one of the historical friction points of inbound tourism payment Thailand report.

Sources

  1. PromptPay — Bank of Thailand
  2. PromptPay — Wikipedia
  3. EMV QR Code Specifications — EMVCo
  4. Does PromptPay have a future? — Medium / MobileTopUp
  5. Thailand PromptPay Case Study — World Bank Fast Payments
  6. The What, Why and How of EMV QR Codes — EMVCo
  7. dtinth/promptpay-qr — GitHub
  8. saladpuk/PromptPay — GitHub
  9. Frontware/promptpay — GitHub
  10. emv_qr_builder — pub.dev
  11. [TH-thailand.md]Thailand report
  12. Pix entry — comparison

Deployments

Found in the following country reports (grep across reports/countries/):

source · content/standards/promptpay-qr/index.md