# SGQR+

> Source: https://docs.barcoder.ai/docs/standards/sgqr-plus
> research date 2026-05-30 · extracted at 2026-10-06
> Publisher: Barcoder — encyclopedia of QR, barcode and payment-code standards

Specifications:
- [NETS announces SGQR+ islandwide rollout (7 November 2024)](https://www.nets.com.sg/newsroom/nets-announces-sgqr-islandwide-rollout-following-the-success-of-sgqr-proof-of-concept)
- [SGQR — Monetary Authority of Singapore](https://www.mas.gov.sg/development/e-payments/sgqr)

## Overview

SGQR+ is the **enhanced, scheme-expanded successor to [SGQR](https://docs.barcoder.ai/docs/standards/sgqr)** — Singapore's national unified QR payment code <sup>[1][1], [2][2]</sup>. NETS announced its islandwide rollout on **7 November 2024** following a one-year proof-of-concept that began in November 2023 <sup>[1][1], [3][3]</sup>. 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) <sup>[3][3], [Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

The "plus" delta is principally scheme participation and acceptance breadth — the underlying EMVCo Merchant-Presented Mode (MPM) wire format is shared with [SGQR](https://docs.barcoder.ai/docs/standards/sgqr) <sup>[1][1]</sup>.

## History

**November 2023** — NETS launched a **proof-of-concept** for SGQR+ at a limited set of merchants in Singapore <sup>[1][1], [3][3]</sup>. 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](https://docs.barcoder.ai/docs/standards/sgqr) acceptance.

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

**Late 2024 / 2025** — rollout expanded into the hawker segment, taking total acceptance from the initial ~24,000 base merchants to **35,000+** <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG), [3][3]</sup>.

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

## Technical specification

SGQR+ uses the **same EMVCo MPM v1.1 TLV wire format** as the original [SGQR](https://docs.barcoder.ai/docs/standards/sgqr) <sup>[1][1]</sup>. 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 <sup>[5][5]</sup>.
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 <sup>[3][3], [Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.
3. **NETS-operated registry and issuer onboarding** — NETS, rather than MAS/IMDA directly, operates the SGQR+ scheme <sup>[1][1]</sup>.

The original [SGQR](https://docs.barcoder.ai/docs/standards/sgqr) technical specification (v1.x, 2018) remains the wire-format baseline; SGQR+ extends scheme participation without changing the EMVCo TLV layout <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

**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 <sup>[11][11]</sup>:

| 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** <sup>[11][11]</sup>. 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** <sup>[11][11]</sup>:
- 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 <sup>[11][11]</sup>.

**Participating schemes / issuers (as of Nov 2024)** <sup>[3][3]</sup>:

| 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 <sup>[3][3]</sup>.

## Use cases

SGQR+'s product positioning is the same as [SGQR](https://docs.barcoder.ai/docs/standards/sgqr)'s — a single merchant QR accepting many schemes — but **broadened internationally**:

- **Hawker centres and small merchants** — the original [SGQR](https://docs.barcoder.ai/docs/standards/sgqr) use case, but now with international card and wallet acceptance baked in <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.
- **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 <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.
- **Cross-border merchant acceptance** — Singapore merchants who serve regional/international customers benefit from one-sticker-many-flags acceptance without per-scheme onboarding <sup>[3][3]</sup>.
- **Tourist-facing F&B and retail** — restaurants, hotels, taxi services where foreign-customer mix is high.
- **All [SGQR](https://docs.barcoder.ai/docs/standards/sgqr) use cases** — SGQR+ is a strict superset; merchants who had SGQR continue to operate it during/after rollout <sup>[1][1]</sup>.

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

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](https://docs.barcoder.ai/docs/standards/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](https://github.com/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 <sup>[6][6]</sup> |
| [mvallim/emv-qrcode](https://github.com/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 <sup>[7][7]</sup> |
| [mercari/go-emv-code](https://github.com/mercari/go-emv-code) | Go | 70 | MIT | v0.1.5, Aug 2023 | Encoder/decoder for both Merchant- and Consumer-Presented modes; Mercari-built <sup>[8][8]</sup> |
| [dongri/emv-qrcode](https://github.com/dongri/emv-qrcode) | Go | 58 | — | 2024 | Independent Go MPM/CPM encoder/parser <sup>[9][9]</sup> |

**Production wallets/apps** <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>:
- 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 <sup>[1][1]</sup>. 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](https://docs.barcoder.ai/docs/standards/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 <sup>[1][1], [Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

**vs. [DuitNow QR](https://docs.barcoder.ai/docs/standards/duitnow-qr) (Malaysia) and [QRIS](https://docs.barcoder.ai/docs/standards/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 <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG), [Malaysia report](https://docs.barcoder.ai/docs/payments/MY), [Indonesia report](https://docs.barcoder.ai/docs/payments/ID)</sup>.

**vs. [Bharat QR](https://docs.barcoder.ai/docs/standards/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](https://docs.barcoder.ai/docs/standards/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 <sup>[India report](https://docs.barcoder.ai/docs/payments/IN), [Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

**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 <sup>[1][1], [Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

## Fun facts

NETS announced SGQR+ on **7 November 2024 at Singapore Fintech Festival** — the largest annual fintech event in Asia, deliberately chosen for visibility <sup>[4][4]</sup>. The PoC had been running for exactly one year (November 2023 → November 2024) before islandwide launch <sup>[3][3]</sup>, 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 <sup>[3][3], [Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>. 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 <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>. 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 <sup>[3][3], [Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>:
- **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 <sup>[3][3]</sup>

The base [SGQR](https://docs.barcoder.ai/docs/standards/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 <sup>[1][1]</sup>.

## Sources

[1]: https://www.nets.com.sg/newsroom/nets-announces-sgqr-islandwide-rollout-following-the-success-of-sgqr-proof-of-concept
[2]: https://www.mas.gov.sg/development/e-payments/sgqr
[3]: https://www.theedgesingapore.com/news/singapore-fintech-festival-2024/updated-version-singapores-unified-qr-code-sgqr-launched-nets
[4]: https://fintechnews.sg/103376/singapore-fintech-festival-2024/nets-rollout-sgqr/
[5]: https://www.asiabiztoday.com/2024/11/07/nets-launches-islandwide-rollout-of-sgqr-system-expanding-payment-options-for-singaporeans/
[6]: https://github.com/hisenyuan/EMVCo-SGQR-encode-decode-crc
[7]: https://github.com/mvallim/emv-qrcode
[8]: https://github.com/mercari/go-emv-code
[9]: https://github.com/dongri/emv-qrcode
[11]: https://victor.medium.com/a-quick-guide-into-how-sgqr-code-works-126e20bad640
[sg-cro]: https://docs.barcoder.ai/docs/payments/SG
[my-cro]: https://docs.barcoder.ai/docs/payments/MY
[id-cro]: https://docs.barcoder.ai/docs/payments/ID
[in-cro]: https://docs.barcoder.ai/docs/payments/IN

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

## Deployments

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

- **SG** — [SG-singapore.md](https://docs.barcoder.ai/docs/payments/SG)
