# BKM Express QR

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

Specifications:
- [Regulation on the Generation and the Use of the TR QR Code in Payment Services — CBRT](https://tcmb.gov.tr/wps/wcm/connect/a3dd886f-ac9b-4e1e-b225-58821ccea36e/Regulation+on+the+Generation+and+the+Use+Of+TR+QR+Code+in+Payment+Services+with+annex.pdf?MOD=AJPERES)
- [TR QR Code — BKM (Bankalararası Kart Merkezi)](https://bkm.com.tr/en/products-and-services/tr-qr-code/)
- [2.5 Financial Infrastructure — CBRT 2023 Annual Report](https://www3.tcmb.gov.tr/yillikrapor/2023/en/m-2-5/)
- [BKM Express — BKM (Bankalararası Kart Merkezi)](https://bkm.com.tr/en/products-and-services/bkm-express/)
- [Press Release on Turkish QR Code Rules and Principles (2020-52) — CBRT](https://tcmb.gov.tr/wps/wcm/connect/en/tcmb+en/main+menu/announcements/press+releases/2020/ano2020-52)

# BKM Express QR

## Overview

**BKM Express QR** is the QR-payment experience of **BKM Express**, Turkey's interbank card wallet operated by **BKM (Bankalararası Kart Merkezi**, the Interbank Card Center) <sup>[2][2]</sup>. It is not a distinct wire format: it rides on Turkey's **national TR QR Code standard ("TR Karekod")**, the single merchant-presented QR scheme mandated for the Turkish market by the **Central Bank of the Republic of Türkiye (CBRT / TCMB)** <sup>[1][1], [2][2], [Türkiye report](https://docs.barcoder.ai/docs/payments/TR)</sup>. The TR QR Code is **EMVCo-compliant** (Merchant-Presented Long QR), so one merchant code can be read by any compliant Turkish wallet or banking app, including BKM Express <sup>[1][1], [2][2]</sup>.

In encyclopedia terms, BKM Express QR is the **wallet** layer; the national standard it conforms to is [TR QR Code](https://docs.barcoder.ai/docs/standards/tr-qr-code), which is itself a country profile of [EMVCo MPM](https://docs.barcoder.ai/docs/standards/emvco-mpm).

## History

**1990 — BKM (Bankalararası Kart Merkezi) founded** by a consortium of 13 Turkish public and private banks to operate the country's interbank card-clearing infrastructure <sup>[9][9]</sup>. BKM today operates the national card switch, the TROY domestic card scheme, and — from 2020 — the TR QR Code Routing System <sup>[2][2], [9][9]</sup>.

**21 June 2012 — BKM Express launched** as Turkey's national digital wallet, "implemented by Interbank Card Center (BKM) in Turkey for the first time in the world" <sup>[7][7]</sup>. It lets cardholders store credit, debit and prepaid cards from different banks in one place and pay online without sharing card details with merchants <sup>[4][4]</sup>. By January 2019 it was supported by 19 banks with roughly 1.6 million users <sup>[4][4]</sup>.

**17 March 2020 — native QR scanning** added to the BKM Express iOS app (v2.0.36), enabling in-app camera scanning of BKM Express QR codes <sup>[8][8]</sup>.

**21 August 2020 — TR QR Code regulation published** in the Official Gazette (No. 31220): the CBRT's *Regulation on the Generation and the Use of the TR QR Code in Payment Services* established the standardized national QR scheme and created the QR Code Routing System operated by BKM <sup>[1][1], [5][5]</sup>. Payment service providers were obliged to comply by **31 December 2021** <sup>[5][5]</sup>.

**CBRT regulation & rulebook** — the regulation governs the standard; the accompanying BKM technical rulebook *TR Karekod Teknik İlke ve Kuralları* (Kartlı Ödemeler / card-payments edition, May 2022) defines the card-payments profile that the BKM Express flow uses <sup>[1][1], [2][2]</sup>.

**20 February 2024 — BKM Express adds TR Karekod card POS** — release v2.0.51 introduced the production card flow: "Artık BKM Express üzerinden desteklenen kartlarınızla POS üzerinden TR Karekod ile ödeme yapabilirsiniz" ("You can now pay with your supported cards via TR Karekod at POS through BKM Express") <sup>[8][8]</sup>. The current version 2.0.58 was released **11 February** of the following year <sup>[8][8]</sup>.

BKM Express thus predates TR QR Code by eight years as BKM's interbank card wallet; TR QR Code later gave it (and every other Turkish wallet/banking app) a single standardized merchant QR to scan <sup>[2][2], [4][4], [Türkiye report](https://docs.barcoder.ai/docs/payments/TR)</sup>.

## Technical specification

BKM Express QR inherits the TR QR Code structure, which follows **EMVCo Merchant-Presented Mode (Long QR)** <sup>[1][1], [2][2]</sup>:

- **Encoding:** EMVCo MPM **TLV** (Tag–Length–Value): a 2-digit tag, a 2-digit length, then the value [EMVCo MPM](https://docs.barcoder.ai/docs/standards/emvco-mpm).
- **Payload Format Indicator (tag 00):** value `"01"` [EMVCo MPM](https://docs.barcoder.ai/docs/standards/emvco-mpm).
- **CRC (tag 63):** CRC-16/CCITT-FALSE over the full payload up to and including `6304` [EMVCo MPM](https://docs.barcoder.ai/docs/standards/emvco-mpm).
- **Transaction Currency (tag 53):** `949` (TRY, ISO 4217).
- **Country Code (tag 58):** `TR` (ISO 3166-1 alpha-2).
- **Merchant name / city (tags 59 / 60):** merchant display name and city.

### Merchant Account Information (MAI) template ranges

The TR QR Code standard partitions the MAI template tag space by payment rail. The merchant account information templates with IDs **"26"–"27", "30"–"31" and "32" are allocated for BKM card systems, the FAST system, and mobile payments, respectively** <sup>[1][1], [3][3], [Türkiye report](https://docs.barcoder.ai/docs/payments/TR)</sup>:

| Tag range | Rail / domain                                       |
|-----------|-----------------------------------------------------|
| **26–27** | **Card payments (BKM)** — the BKM Express card flow  |
| **30–31** | **FAST** (instant account-to-account transfer)      |
| **32**    | **Mobile** payment                                  |

The **interactive playground on this page illustrates the card template (tag 26)** — the BKM Express card flow — with currency `949` (TRY) and country `TR`. The other ranges (30–31 FAST, 32 mobile) are part of the same national standard but represent different rails <sup>[1][1], [3][3]</sup>.

TR QR Code supports both **static** merchant QRs (no amount; payer enters it) and **dynamic** QRs (amount encoded per-transaction), the standard EMVCo MPM distinction carried via the Point of Initiation Method (tag 01) <sup>[2][2], [EMVCo MPM](https://docs.barcoder.ai/docs/standards/emvco-mpm)</sup>.

## Use cases

- **Card payment at the point of sale** — TR QR Code card payments (the BKM domain) are accepted at **about 85% of existing POS machines** in Türkiye, and TR QR Code cash withdrawal is possible from **almost all ATMs** <sup>[3][3]</sup>.
- **ATM cash withdrawal** — scan a TR QR Code at the ATM to withdraw cash without a physical card <sup>[3][3]</sup>.
- **E-commerce / m-commerce checkout** — the EMVCo Merchant-Presented Long QR specification explicitly covers POS/ATM terminals, e-commerce sites, mobile-commerce apps, cash registers and printed media <sup>[1][1]</sup>.
- **P2P money requests via QR or messaging-app link** — the BKM Express app supports requesting money "either via QR code in-person or through messaging apps via link" ("İster QR ile yüzyüze isterseniz link ile mesajlaşma uygulamaları üzerinden para isteyebilirsiniz"), making the QR a shareable across WhatsApp, SMS and similar channels <sup>[8][8]</sup>.
- **24/7 transfers to a card number** — the BKM Express app moves funds card-to-card around the clock without requiring IBAN exchange <sup>[8][8]</sup>.
- **Charitable donations** — BKM Express supports in-app donation flows through TR Karekod, surfacing the standard as a generic "scan-to-pay" rail for non-merchant collections <sup>[8][8]</sup>.

## Implementations

There is **no BKM Express-specific QR library**; BKM Express produces and reads ordinary [TR QR Code](https://docs.barcoder.ai/docs/standards/tr-qr-code) payloads (EMVCo-MPM TLV with Turkish MAI templates 26-27 for cards). Any EMVCo-MPM encoder/decoder generates a valid BKM Express QR provided the merchant template IDs and country code (`TR`) follow the BKM rulebook <sup>[1][1], [2][2]</sup>.

**Generic EMVCo-MPM encoder/decoder libraries** (work for BKM Express by populating MAI templates 26-27):

| Repo | Language | Stars | License | Last release | Notes |
|---|---|---:|---|---|---|
| [mvallim/emv-qrcode](https://github.com/mvallim/emv-qrcode) | Java | 128 | Apache-2.0 | v0.1.5, May 2026 | Full **MPM v1.1 + CPM v1.1** encode/decode with CRC16 validation and duplicate-tag checks <sup>[10][10]</sup> |
| [dongri/emv-qrcode](https://github.com/dongri/emv-qrcode) | Go | 58 | — | 2024 | "Golang Based EMV QR Code Generator and Parser (MPM, CPM)"; idiomatic Go API for both modes <sup>[11][11]</sup> |
| [steplix/emv-qrcps](https://github.com/steplix/emv-qrcps) | JavaScript / Node.js | 23 | — | v0.0.8, Sep 2020 | npm `steplix-emv-qrcps`; Merchant + Consumer modules. Aging — fine as a reference, less ideal as a dependency in 2026 <sup>[12][12]</sup> |

**Closed-source/native apps**:
- **BKM Express** (iOS `id657408050`, Android `com.bkm.mobil`) by *Bankalararası Kart Merkezi A.Ş.* — the official wallet that issues and scans TR Karekod payloads for the card rail <sup>[8][8]</sup>.

The genuinely BKM-Express-specific integration is **not** at the QR layer but at the **routing-system layer**: merchants and PSPs that want to participate go through BKM's **TR QR Code Switching System**, which interconnects participants when payer and payee are at different institutions <sup>[2][2]</sup>.

## Comparison

**vs. the FAST and mobile rails of the same standard** — BKM Express QR uses the **card** MAI templates (26–27); the same TR QR Code also carries **FAST** instant account-to-account transfers (30–31) and **mobile-operator** payments (32). A single merchant code can therefore route over cards, instant transfer, or mobile billing depending on which template the merchant populates <sup>[1][1], [3][3]</sup>.

**vs. other national EMVCo-MPM QR standards ([VietQR](https://docs.barcoder.ai/docs/standards/vietqr), [PromptPay QR](https://docs.barcoder.ai/docs/standards/promptpay-qr), [QRIS](https://docs.barcoder.ai/docs/standards/qris), [DuitNow QR](https://docs.barcoder.ai/docs/standards/duitnow-qr))** — Same EMVCo MPM technical family and same central-bank-mandated, single-national-QR pattern. TR QR Code is distinctive in explicitly carving the MAI template space into separate **card vs instant-transfer vs mobile** rails, where several peers focus on the account/instant-transfer rail <sup>[1][1], [3][3]</sup>.

## Fun facts

**The world's first national interbank digital wallet.** BKM's own chronology describes BKM Express, launched 21 June 2012, as "implemented by Interbank Card Center (BKM) in Turkey for the **first time in the world**" — a multi-issuer wallet pooling cards from competing banks into a single payment surface, predating Apple Pay's October 2014 launch and Google Pay's 2018 consolidation <sup>[7][7]</sup>.

**Three rails, one QR.** Turkey's TR QR Code is unusual in explicitly partitioning the EMVCo MAI template space into three competing payment rails — **card** (IDs 26-27, BKM's domain, used by BKM Express), **FAST instant transfer** (IDs 30-31, the central bank's instant-payment system), and **mobile-operator billing** (ID 32, Turkcell/Vodafone/Türk Telekom). A merchant can populate any combination; the wallet that scans the code picks the rail <sup>[1][1], [3][3]</sup>.

**The QR app preceded the QR feature by 8 years.** BKM Express launched as a card-tokenisation e-commerce wallet in **2012**; native QR scanning in the mobile app did not arrive until **March 2020** (iOS v2.0.36), and the production card-POS TR Karekod flow not until **February 2024** (v2.0.51) — a slow, regulator-driven retrofit of a QR rail onto a wallet that originally targeted online checkout <sup>[7][7], [8][8]</sup>.

## Status

**Active.** TR QR Code is Turkey's mandated national QR standard, with BKM operating the card overlay used by BKM Express <sup>[2][2], [Türkiye report](https://docs.barcoder.ai/docs/payments/TR)</sup>. CBRT reports broad acceptance: card payments via TR QR Code reachable at ~85% of POS machines and withdrawals at nearly all ATMs, with FAST TR QR Code POS readiness at ~80% <sup>[3][3]</sup>. Turkey recorded **271% growth in QR-code payments in 2024** <sup>[Türkiye report](https://docs.barcoder.ai/docs/payments/TR)</sup>. BKM Express itself is supported by all large Turkish banks and reported ~1.6 million users (January 2019) <sup>[4][4]</sup>.

## Sources

[1]: https://tcmb.gov.tr/wps/wcm/connect/a3dd886f-ac9b-4e1e-b225-58821ccea36e/Regulation+on+the+Generation+and+the+Use+Of+TR+QR+Code+in+Payment+Services+with+annex.pdf?MOD=AJPERES
[2]: https://bkm.com.tr/en/products-and-services/tr-qr-code/
[3]: https://www3.tcmb.gov.tr/yillikrapor/2023/en/m-2-5/
[4]: https://bkm.com.tr/en/products-and-services/bkm-express/
[5]: https://tcmb.gov.tr/wps/wcm/connect/en/tcmb+en/main+menu/announcements/press+releases/2020/ano2020-52
[7]: https://bkm.com.tr/en/chronology/bkm-express-national-digital-wallet-of-turkey-was-launched-21-june-2012/
[8]: https://apps.apple.com/us/app/bkm-express/id657408050
[9]: https://bkm.com.tr/en/turkey-an-exceptional-market-for-payment-innovations/
[10]: https://github.com/mvallim/emv-qrcode
[11]: https://github.com/dongri/emv-qrcode
[12]: https://github.com/steplix/emv-qrcps
[tr-cro]: https://docs.barcoder.ai/docs/payments/TR

1. [Regulation on the Generation and the Use of the TR QR Code in Payment Services — CBRT][1]
2. [TR QR Code — BKM (Bankalararası Kart Merkezi)][2]
3. [2.5 Financial Infrastructure — CBRT 2023 Annual Report][3]
4. [BKM Express — BKM (Bankalararası Kart Merkezi)][4]
5. [Press Release on Turkish QR Code Rules and Principles (2020-52) — CBRT][5]
6. [TR-turkey.md]<sup>[Türkiye report](https://docs.barcoder.ai/docs/payments/TR)</sup>
7. [BKM Express, National Digital Wallet of Turkey, was launched (21 June 2012) — BKM Chronology][7]
8. [BKM Express — Apple App Store][8]
9. [Turkey: An exceptional Market for Payment Innovations — BKM][9]
10. [mvallim/emv-qrcode — GitHub][10]
11. [dongri/emv-qrcode — GitHub][11]
12. [steplix/emv-qrcps — GitHub][12]

## Deployments

_No country reports mention this standard by name._
