Skip to content
barcoder

Standards/sgqr-plus

SGQR+

TypeQR Code
PrimarySG
MentionedSG
Completeness89%high

Overview

SGQR+ is the enhanced, scheme-expanded successor to sgqr — Singapore's national unified QR payment code [1, 2]. NETS announced its islandwide rollout on 7 November 2024 following a one-year proof-of-concept that began in November 2023 [1, 3]. SGQR+ adds international and additional domestic payment schemes to the original SGQR multi-scheme model, bringing the total to 18 schemes/issuers across 35,000+ acceptance points (24,000 base + hawker segment extension) [3, sg-cro].

The "plus" delta is principally scheme participation and acceptance breadth — the underlying EMVCo Merchant-Presented Mode (MPM) wire format is shared with sgqr [1].

History

November 2023 — NETS launched a proof-of-concept for SGQR+ at a limited set of merchants in Singapore [1, 3]. The PoC validated that the multi-scheme expansion (especially the addition of international card networks and Chinese wallets on the same QR as domestic schemes) worked operationally without disrupting existing sgqr acceptance.

7 November 2024 — at the Singapore Fintech Festival, NETS announced the islandwide rollout of SGQR+ [1, 4, 3]. The technical go-live target was Q4 2024 for the bulk of issuers; the remaining issuers (dtcpay, MariBank) were scheduled for Q2 2025 [3].

Late 2024 / 2025 — rollout expanded into the hawker segment, taking total acceptance from the initial ~24,000 base merchants to 35,000+ [sg-cro, 3].

The November 2024 launch was timed deliberately to coincide with Singapore Fintech Festival, positioning SGQR+ as MAS's signature payments announcement of the year [4].

Technical specification

SGQR+ uses the same EMVCo MPM v1.1 TLV wire format as the original sgqr [1]. The "plus" delta is in:

  1. Number of supported merchant-account-information templates within a single QR — more schemes can claim a slot, requiring careful field-ordering to fit within the QR's byte budget [5].
  2. Cross-border scheme participation — international wallets and card networks have their own merchant-account-information templates baked in, so a foreign tourist's app finds its template in the SGQR+ payload [3, sg-cro].
  3. NETS-operated registry and issuer onboarding — NETS, rather than MAS/IMDA directly, operates the SGQR+ scheme [1].

The original sgqr technical specification (v1.x, 2018) remains the wire-format baseline; SGQR+ extends scheme participation without changing the EMVCo TLV layout SG.

SGQR's distinctive reverse-DNS GUIDs. Where most EMVCo MPM national profiles use a numeric AID (e.g. A0000006150001 for DuitNow, A000000727 for VietQR), SGQR's merchant-account-information templates carry reverse-DNS-style identifiers in sub-tag 00, picked from the Singapore Standards Registry [11]:

GUID Scheme
SG.PAYNOW PayNow (bank rail)
SG.COM.NETS NETS
SG.COM.OCBC OCBC
SG.COM.UOB UOB
SG.COM.DASH.WWW Singtel Dash
SG.COM.EZLINK EZ-Link
SG.EZI EZ-Link (alt)
COM.GRAB GrabPay
SG.SGQR SGQR central reference (the registry ID itself)

In SGQR+, additional templates appear for the international card networks (Visa/Mastercard/Amex/UnionPay/Diners) and Chinese wallets (Alipay+/WeChat Pay), each in its own MAI slot.

Tag-51 — Merchant Information, Country of Origin [11]. SGQR uniquely re-purposes EMVCo tag 51 as a merchant-information container that carries the SGQR registry identifier (SG.SGQR), the merchant's registered SGQR number, version and POS terminal information — the field that lets MAS/NETS reconcile a single sticker back to a registered merchant across all the schemes co-embedded in the payload.

Other header tags [11]:

  • Tag 00 Payload Format Indicator = "01", two-char length 02.
  • Tag 01 Point of Initiation Method = "11" (static) / "12" (dynamic).
  • Tag 52 Merchant Category Code (4 digits).
  • Tag 53 Currency = 702 (SGD).
  • Tag 58 Country Code = SG.
  • Tag 59 / 60 Merchant Name / City (Singapore).
  • Tag 62 Additional Data (bill numbers, store labels, reference labels).
  • Tag 63 CRC = CRC-16/CCITT-FALSE over the whole payload up to 6304.

A worked Singapore merchant payload begins 0002010102… and terminates with 6304XXXX per the EMVCo MPM CRC convention [11].

Participating schemes / issuers (as of Nov 2024) [3]:

Category Schemes
Singapore bank rails PayNow (banks), NETS, FAST
Local e-wallets GrabPay, ShopeePay, dtcpay, MariBank
International cards Visa, Mastercard, UnionPay, American Express, Diners/Discover
Chinese mobile wallets Alipay, Alipay+, WeChat Pay
Cross-border national QRs DuitNow (MY), PromptPay (TH), QRIS (ID) via cross-border integrations
Other Google Pay, EZ-Link, Singtel Dash

Total 18 unique payment-scheme/issuer templates can fit in one SGQR+ payload [3].

Use cases

SGQR+'s product positioning is the same as sgqr's — a single merchant QR accepting many schemes — but broadened internationally:

  • Hawker centres and small merchants — the original sgqr use case, but now with international card and wallet acceptance baked in SG.
  • Inbound tourism payments — Chinese tourists pay via Alipay+, Malaysian tourists via DuitNow, Thai tourists via PromptPay, Indonesian tourists via QRIS — all by scanning the same SGQR+ label SG.
  • Cross-border merchant acceptance — Singapore merchants who serve regional/international customers benefit from one-sticker-many-flags acceptance without per-scheme onboarding [3].
  • Tourist-facing F&B and retail — restaurants, hotels, taxi services where foreign-customer mix is high.
  • All sgqr use cases — SGQR+ is a strict superset; merchants who had SGQR continue to operate it during/after rollout [1].

The hawker segment extension was specifically called out by NETS as the key adoption-density move taking acceptance from 24K to 35K+ [3].

The SGQR+ scheme is operationally closed (NETS-mediated merchant onboarding) so issuance is via NETS, not via self-service libraries. The shared EMVCo MPM wire format means any sgqr-compatible decoder also reads SGQR+ payloads at the data-format level — the extra schemes just appear as additional merchant-account-information templates.

Open-source encoders/decoders — populate tag 26-51 merchant templates with the appropriate SG.* / COM.* reverse-DNS GUID in sub-tag 00:

Repo Language Stars License Last release Notes
hisenyuan/EMVCo-SGQR-encode-decode-crc Java 17 2024 The one SGQR-named community library on GitHub; CRC encode + TLV decode of a real Singapore merchant QR, plus an example payload to validate against [6]
mvallim/emv-qrcode Java 128 Apache-2.0 v0.1.5, May 2026 Production-grade MPM v1.1 + CPM v1.1 encode/decode with CRC16 + duplicate-tag checks; handles SGQR+ once tag 26-51 + SG.* sub-tag GUIDs are configured [7]
mercari/go-emv-code Go 70 MIT v0.1.5, Aug 2023 Encoder/decoder for both Merchant- and Consumer-Presented modes; Mercari-built [8]
dongri/emv-qrcode Go 58 2024 Independent Go MPM/CPM encoder/parser [9]

Production wallets/apps SG:

  • DBS PayLah!, OCBC Digital, UOB TMRW (bank apps with SGQR+ support)
  • GrabPay, ShopeePay, dtcpay, MariBank (e-wallets)
  • International: Alipay, Alipay+, WeChat Pay (Chinese wallets), Visa/Mastercard/UnionPay/Amex network apps
  • Cross-border QRs from DuitNow (MY), PromptPay (TH), QRIS (ID)

NETS-mediated merchant onboarding — production deployment happens via NETS's SGQR+ merchant registration workflow [1]. There is no public self-service merchant API; an open-source encoder produces a valid SGQR+ TLV payload but the merchant identifiers it carries must be issued by NETS for acceptance to settle.

Comparison

vs. base sgqr (2018) — Strict superset. Same wire format (EMVCo MPM TLV). Adds: more scheme participation (18 vs original ~12), international card/wallet networks first-class, NETS-operated rather than MAS/IMDA-only. Existing SGQR labels continue to work; SGQR+ is rolled out via label-replacement at merchants opting in [1, sg-cro].

vs. duitnow-qr (Malaysia) and qris (Indonesia) — All three are EMVCo MPM unified national QR standards in the ASEAN region. SGQR+ is the only one that natively bundles international card networks (Visa, Mastercard, Amex, UnionPay) alongside the domestic bank rail in the same QR — Malaysia and Indonesia handle international cards via separate POS terminals [sg-cro, my-cro, id-cro].

vs. bharat-qr (India, also card-network-inclusive) — Both bundle international card networks (Visa/MC/Amex) into the QR. Bharat QR was the original 2017 implementer; SGQR+ extended the model with Chinese wallets (Alipay+/WeChat) and cross-border national QRs. Bharat QR's complementary upi-qr doesn't fit cleanly into an EMVCo bundle (different wire format); SGQR+ doesn't have this constraint since all participating schemes use EMVCo MPM [in-cro, sg-cro].

vs. cross-border bilateral QR links (PromptPay↔PayNow, DuitNow↔SGQR etc.) — Those bilateral integrations operate at the network layer between independent national QR standards. SGQR+ collapses that integration into the QR payload itself — a Chinese tourist's Alipay app finds its template in the SGQR+ TLV without any cross-border link infrastructure [1, sg-cro].

Fun facts

NETS announced SGQR+ on 7 November 2024 at Singapore Fintech Festival — the largest annual fintech event in Asia, deliberately chosen for visibility [4]. The PoC had been running for exactly one year (November 2023 → November 2024) before islandwide launch [3], a notable example of MAS/NETS's pattern of long pilot phases before scale rollout.

By total scheme count (18), SGQR+ is the broadest single multi-scheme payment QR in the world as of 2024 [3, sg-cro]. Bharat QR has card-network multi-scheme but doesn't natively bundle e-wallets; QRIS has bank+e-wallet multi-scheme but not international cards. SGQR+'s 18-scheme single payload is unique.

The expansion strategy explicitly targets the hawker segment — Singapore's cherished open-air food court ecosystem with ~6,000 stalls across 110+ centres SG. Adding hawker centres lifted SGQR+ acceptance from 24K to 35K, a meaningful adoption-density move because hawker centres are where Singapore residents transact most frequently in cash historically.

Status

Active and rolling out. Most recent metrics [3, sg-cro]:

  • 35,000+ acceptance points (24,000 base + hawker extension)
  • 18 schemes/issuers in scope
  • Rollout completion: Q4 2024 for primary issuers; Q2 2025 for the dtcpay and MariBank cohort
  • Cross-border: China (Alipay+, WeChat), Malaysia (DuitNow), Thailand (PromptPay), Indonesia (QRIS), India (via PayNow-UPI link)
  • Planned: Cambodia, Hong Kong expansion [3]

The base sgqr continues to operate in parallel; SGQR+ adoption is being rolled out merchant-by-merchant through label replacement. No deprecation of SGQR planned — SGQR+ is positioned as an evolution adopting merchants opt into [1].

Sources

  1. NETS announces SGQR+ islandwide rollout — NETS press release, 7 Nov 2024
  2. SGQR — Monetary Authority of Singapore
  3. SGQR+ launched by NETS — The Edge Singapore
  4. SGQR+ Islandwide Rollout — Fintech News Singapore
  5. Enhanced SGQR+ Payment Scheme — Asia Biz Today
  6. hisenyuan/EMVCo-SGQR-encode-decode-crc — GitHub
  7. mvallim/emv-qrcode — GitHub
  8. mercari/go-emv-code — GitHub
  9. dongri/emv-qrcode — GitHub
  10. SG-singapore.md
  11. A quick guide into how SGQR works (reverse-DNS GUIDs, tag layout) — Victor Liew, Medium
  12. MY-malaysia.md
  13. ID-indonesia.md

Deployments

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

source · docs/standards/sgqr-plus/index.md