# eSewa QR

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

Specifications:
- [NEPALPAY QR interoperable transactions — NCHL](https://nchl.com.np/nepalpay-qr-interoperable-qr-based-transaction/)
- [EMV QR Code Specifications — EMVCo](https://www.emvco.com/emv-technologies/qr-codes/)
- [Fonepay — Nepal's largest interoperable payment network (F1Soft)](https://f1soft.com/business/fonepay)
- [eSewa Developer Documentation](https://developer.esewa.com.np/)

# eSewa QR

## Overview

**eSewa QR** is the merchant-payment QR surface of **eSewa**, Nepal's largest and oldest digital wallet, operated by **F1Soft International** <sup>[1][1], [2][2]</sup>. eSewa launched in beta in **2009** and went into full service on **25 January 2010**, billing itself as **South Asia's first digital wallet** <sup>[1][1], [2][2]</sup>. By 2024–25 it reports **10 million+ users**, **450,000+ merchants**, **250,000+ agents**, and partnerships with **49+ banks and financial institutions** <sup>[2][2]</sup>.

The important structural fact about eSewa QR is *which* interoperable QR network it rides: **eSewa Business QR operates on the Fonepay network** — Nepal's largest interoperable QR network, also an F1Soft company — and **not** on the NRB/NCHL **NEPALPAY QR** scheme <sup>[3][3], [4][4]</sup>. Nepal therefore has two competing interoperable merchant-QR rails — **Fonepay** (F1Soft) and **NEPALPAY QR / Smart QR** ([NEPALPAY QR](https://docs.barcoder.ai/docs/standards/nepalpay-qr), NCHL) — and eSewa sits firmly on the Fonepay side <sup>[3][3], [4][4]</sup>. Both rails sit under Nepal Rastra Bank's **NepalQR** standardisation framework, which is built on **EMVCo Merchant-Presented Mode (MPM)** <sup>[NEPALPAY QR](https://docs.barcoder.ai/docs/standards/nepalpay-qr), [5][5]</sup>.

> Note on scope: this page describes eSewa QR at the **EMVCo-MPM / NepalQR family** level. eSewa's exact domestic merchant-account-information template GUID (the EMVCo tag identifying an eSewa/Fonepay merchant) is **not publicly documented**; it is deliberately not invented here. See **Technical specification**.

## History

**Background — eSewa and F1Soft** <sup>[1][1], [2][2]</sup>:
- **F1Soft International** — Nepalese fintech group; eSewa is its flagship consumer wallet, and **Fonepay** (the QR/payment network eSewa rides) is a sibling F1Soft company.
- F1Soft's broader ecosystem is reported at **20 million+ users** across its verticals <sup>[1][1]</sup>.

**2009 — eSewa beta** <sup>[1][1], [2][2]</sup>:
- Released in beta as Nepal's (and South Asia's) first digital wallet.

**25 January 2010 — full service launch** <sup>[2][2]</sup>:
- eSewa goes into full-fledged operation for bill payments, recharges, transfers, and ticketing.

**2022 — NEPALPAY QR launches (NCHL), Fonepay already dominant** <sup>[NEPALPAY QR](https://docs.barcoder.ai/docs/standards/nepalpay-qr), [3][3]</sup>:
- The NRB/NCHL national interoperable QR (NEPALPAY QR) launches 11 March 2022 as a unifying rail, but eSewa/Fonepay remain on the Fonepay network rather than joining NEPALPAY QR scanning <sup>[4][4]</sup>.

**28 August 2025 — Alipay+ on eSewa Business QR (via Fonepay)** <sup>[3][3]</sup>:
- Fonepay × Alipay+ launched at The Soaltee Kathmandu; existing eSewa Business QR codes on the Fonepay network are enabled **by default** for **Alipay+** scan-and-pay across **500,000+ eSewa merchants**, letting inbound tourists from 11+ countries pay with their home wallets (Alipay, KakaoPay, GCash, Touch 'n Go, AlipayHK, TrueMoney, Tinaba) <sup>[3][3]</sup>.

**Sustained growth** <sup>[2][2]</sup>:
- eSewa reports 10 million+ users and 450,000+ merchants by 2024–25, and was recognised by Nepal Rastra Bank for 15 years of operation <sup>[2][2]</sup>.

## Technical specification

eSewa QR is a **merchant-presented QR** on the **Fonepay** interoperable network, within Nepal Rastra Bank's **NepalQR** framework, which is based on **EMVCo Merchant-Presented Mode (MPM)** <sup>[NEPALPAY QR](https://docs.barcoder.ai/docs/standards/nepalpay-qr), [4][4], [5][5]</sup>. Fonepay describes its QR as **EMV compliant** <sup>[7][7]</sup>.

**EMVCo MPM foundation (NepalQR family)** <sup>[5][5], [NEPALPAY QR](https://docs.barcoder.ai/docs/standards/nepalpay-qr)</sup>:
- Payload format: **TLV (Tag-Length-Value)** plain-text string. Each field is `TT` (two-digit tag) + `LL` (two-digit length) + value.
- Payload Format Indicator (tag `00`) = `"01"` — fixed EMVCo MPM v1 marker.
- Point of Initiation Method (tag `01`) = `"11"` (static, multi-use) or `"12"` (dynamic, single-use).
- Merchant Account Information templates (tags `26`–`51`): each begins with sub-tag `00` carrying a reverse-DNS GUID; the Fonepay-issued GUID for eSewa Business merchants is not publicly documented <sup>[7][7]</sup>.
- Merchant Category Code (tag `52`): four-digit ISO 18245 MCC.
- Transaction Currency (tag `53`): **524** (NPR, ISO 4217 numeric).
- Transaction Amount (tag `54`): omitted for static codes; numeric for dynamic.
- Country Code (tag `58`): **NP**.
- Merchant Name (tag `59`) and Merchant City (tag `60`): max 25 / 15 chars, EMVCo character set.
- Additional Data field (tag `62`): optional bill/reference/store identifiers.
- Integrity (tag `63`): **CRC-16/CCITT-FALSE** computed over the whole payload including `6304` length prefix, polynomial `0x1021`, initial value `0xFFFF`, no reflection.
- Static and dynamic merchant QR both supported <sup>[6][6]</sup>.
- Underlying symbology: [QR Code](https://docs.barcoder.ai/docs/standards/qr-code) (typically L or M error-correction level for printed merchant stickers).

**Modes** <sup>[6][6]</sup>:
- **Static merchant QR** — generated after merchant login; customer enters the amount in their app.
- **Dynamic merchant QR** — merchant enters amount and remarks; a per-transaction QR is produced.

**Network placement** <sup>[3][3], [4][4]</sup>:
- eSewa Business QR is acquired and settled on the **Fonepay** network (F1Soft), Nepal's largest interoperable QR network.
- It is **not** the NRB/NCHL **NEPALPAY QR** scheme; eSewa cannot scan NEPALPAY QR or Smart QR codes <sup>[4][4]</sup>.

**What the playground demonstrates.** The "Try it" panel uses the generic **EMVCo MPM** encoder parameterised for **Nepal** — currency **524 (NPR)**, country **NP**, city **Kathmandu**. This produces a valid EMVCo-MPM / NepalQR-family container (correct TLV structure, tag `00 = "01"`, CRC tag `63`). It does **not** embed eSewa's real domestic merchant-template GUID, because **that GUID is not publicly documented** — the playground shows the standard's *container* parameterised for Nepal, the same way the [VietQR](https://docs.barcoder.ai/docs/standards/vietqr) and [NEPALPAY QR](https://docs.barcoder.ai/docs/standards/nepalpay-qr) playgrounds are parameterised, rather than a production eSewa merchant code.

## Use cases

eSewa QR is a primary retail payment surface in Nepal, alongside the wallet's bill-pay and transfer features <sup>[2][2], [6][6]</sup>:

- **Retail point of sale** — customers open the eSewa app, tap the QR scanner, scan the merchant's Fonepay QR, and pay; pre-printed merchant QR is ubiquitous <sup>[6][6]</sup>.
- **Merchant Business QR (static)** — printed sticker generated after merchant login <sup>[6][6]</sup>.
- **Merchant Business QR (dynamic)** — POS-generated per-transaction QR with amount and remarks <sup>[6][6]</sup>.
- **Cross-wallet acceptance via Fonepay** — any Fonepay-network app/bank can pay an eSewa Business QR; Fonepay connects 60+ partners, 20M+ customers, 1.2M+ merchants <sup>[3][3], [4][4], [7][7]</sup>.
- **Inbound tourist payments via Alipay+** — foreign visitors scan eSewa Business QR with Alipay+-connected wallets (live 28 Aug 2025); merchants pay ~1.95% on Alipay+ transactions while domestic eSewa QR is free <sup>[3][3]</sup>.
- **Bill payment, recharge, ticketing** — eSewa's broader wallet services that sit alongside QR pay <sup>[2][2]</sup>.

**Scale** <sup>[2][2]</sup>:
- **10 million+ users**
- **450,000+ merchants**
- **250,000+ agents**
- **49+ partner banks/FIs**

## Implementations & ecosystem

**Operator**: **F1Soft International** (eSewa wallet) and **Fonepay Payment Service** (the QR network eSewa rides) — both F1Soft companies <sup>[3][3], [4][4]</sup>.

**Regulator / standards framework**: **Nepal Rastra Bank (NRB)** — NepalQR framework; **EMVCo** for the underlying MPM specification <sup>[NEPALPAY QR](https://docs.barcoder.ai/docs/standards/nepalpay-qr), [5][5]</sup>.

**Acceptance network**: the **Fonepay** interoperable QR network — Nepal's largest (NRB-licensed PSO; 60+ partners, 20M+ customers, 1.2M+ merchants), scanned by many bank apps and wallets <sup>[4][4], [7][7]</sup>.

**Cross-border**: **Alipay+** on eSewa Business QR (via Fonepay) for inbound tourists, plus a Fonepay × NPCI International UPI link for Indian visitors <sup>[3][3], [7][7]</sup>.

**Open-source libraries** — eSewa QR specifically is not exposed in a public encoder library (the wallet's merchant-template GUID is not documented), but two reasonable starting points exist for the Nepal payment-rail ecosystem:

| Repo | Language | Stars | License | Last release | Notes |
|---|---|---:|---|---|---|
| [voidarchive/nepal-payment-go](https://github.com/voidarchive/nepal-payment-go) | Go | 24 | MIT | v1.0.0, Jan 2026 | Unified Go SDK covering **eSewa** (HMAC-SHA256 form-POST), **Khalti**, **ConnectIPS** (RSA-SHA256), and **Fonepay** (HMAC-SHA512 + **dynamic QR generation** for in-person payments); same interface across providers, payment-verification + callback support <sup>[8][8]</sup> |
| [manibibek/payment-gateways-in-nepal](https://github.com/manibibek/payment-gateways-in-nepal) | Markdown index | 16 | — | active | Curated index of integration resources for eSewa (WooCommerce/Android/iOS plugins), Khalti (Magento/OpenCart/Prestashop/WHMCS/JS/Android/iOS), Fonepay and 9+ other Nepali gateways <sup>[9][9]</sup> |

For the underlying EMVCo MPM container (currency 524, country NP, CRC16/CCITT-FALSE), any general EMVCo-MPM library applies once the Fonepay-specific Merchant Account Information sub-tag is known <sup>[5][5], [10][10]</sup>:

| 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 + duplicate-tag checks; covers the wire-level format eSewa rides <sup>[10][10]</sup> |

eSewa's domestic merchant template not being public limits production round-tripping; in practice merchants integrate through eSewa's Epay/Intent APIs (HMAC-SHA256-signed form POSTs) or Mobile SDKs (Android/iOS/Flutter) and let the wallet operator generate the QR server-side <sup>[11][11]</sup>.

**Note on NEPALPAY QR**: NEPALPAY QR scanning is offered by other wallets (CellPay, Hamropay, Moru, SajiloPay, connectIPS) — eSewa is notably absent from that list because it stays on Fonepay <sup>[4][4]</sup>.

## Comparison

**vs. [NEPALPAY QR](https://docs.barcoder.ai/docs/standards/nepalpay-qr) (NCHL national scheme)** — Same country, same NepalQR/EMVCo-MPM family, but a **different interoperable rail**. NEPALPAY QR is the NRB/NCHL-operated national scheme; eSewa QR runs on the **Fonepay** network (F1Soft). They are *competing* interoperability schemes within Nepal, and eSewa cannot scan NEPALPAY QR <sup>[3][3], [4][4]</sup>.

**vs. [VietQR](https://docs.barcoder.ai/docs/standards/vietqr) / DuitNow / PromptPay (ASEAN EMVCo-MPM national QR)** — Same EMVCo-MPM TLV technical family. The difference is governance: those are single bank-operator national schemes; Nepal's merchant-QR market is split between a private network (Fonepay) and a clearing-house scheme (NEPALPAY QR), with eSewa on the private side <sup>[5][5]</sup>.

**vs. [UPI QR](https://docs.barcoder.ai/docs/standards/upi-qr) (India)** — Different wire format (UPI deep link vs EMVCo TLV). Nepal-India cross-border QR exists via NPCI International / Fonepay arrangements, reflecting the strong Nepal-India payments corridor [NEPALPAY QR](https://docs.barcoder.ai/docs/standards/nepalpay-qr).

**vs. Khalti / IME Pay (domestic wallet rivals)** — eSewa is the largest of Nepal's ~27 licensed wallets; its scale and the Fonepay acceptance footprint are its main moat over rivals <sup>[2][2], [NEPALPAY QR](https://docs.barcoder.ai/docs/standards/nepalpay-qr)</sup>. Khalti — founded in 2016 by four engineering students (Amit Agrawal, Arvind Sah, Dhurba Adhikari, Manish Modi) and launched **26 January 2017** under Sparrow Pay Pvt. Ltd. — is the closest direct competitor <sup>[12][12]</sup>. The choosing criterion at the wallet layer: **eSewa for Fonepay-network domestic acceptance + Alipay+ inbound tourism**, **Khalti for IME-group remittance + NEPALPAY QR-side acceptance**; the QRs settle through different national rails.

**vs. closed-loop bank-app wallets (Mahfathati in Yemen, SIB UPI-POS in India)** — Bank-wallet QRs in markets without a mandated central QR scheme tend to be closed loops or settle through a single PSP. eSewa is structurally different: it is a wallet *that hosts the network* (via sibling Fonepay) — 60+ partner banks + wallets scan its merchant QR. The choosing criterion if you are a Nepali merchant: take **eSewa Business QR** for one sticker that the Fonepay-wallet/bank population pays; take **NEPALPAY QR** if you want NEPALPAY-only wallets (CellPay, Hamropay, Moru, SajiloPay, connectIPS) — and many merchants display both, because the two rails do not interoperate <sup>[4][4]</sup>.

## Fun facts

- **eSewa and Fonepay are siblings.** Both are F1Soft companies, so eSewa's "interoperable" QR is really the **Fonepay** network — which is also why eSewa sits out the rival NEPALPAY QR scheme <sup>[3][3], [4][4]</sup>.
- **South Asia's first digital wallet** — eSewa (2009 beta, 2010 full service) predates most of the region's wallets <sup>[1][1], [2][2]</sup>.
- **eSewa cannot scan NEPALPAY QR.** Despite being Nepal's biggest wallet, it is absent from the NEPALPAY QR scanning wallet list because of the Fonepay-vs-NEPALPAY split <sup>[4][4]</sup>.
- **Alipay+ by default.** When Fonepay × Alipay+ launched (28 Aug 2025), every existing eSewa Business QR was switched on for cross-border acceptance automatically — no merchant action, no QR replacement required <sup>[3][3]</sup>.
- **The exact eSewa merchant GUID is not public** — unlike well-documented schemes, eSewa/Fonepay's domestic EMVCo merchant-template identifier is not openly published, which is why this page (and its playground) stays at the NepalQR/EMVCo-family level.

- **Nepal's two leading wallets launched 1 day apart, 7 years apart.** eSewa entered full service on **25 January 2010** <sup>[2][2]</sup>; **Khalti**, its dominant rival, launched on **26 January 2017** <sup>[12][12]</sup> — the late-January-2017 anniversary becoming Khalti's marketing peg as the "second wave" Nepali wallet exactly seven years after the first.

- **Fonepay-vs-NEPALPAY QR is the rare case of two competing national QR rails in one country.** Most countries either have a single mandated national QR (Singapore SGQR, Malaysia DuitNow, Thailand PromptPay, Indonesia QRIS) or a wallet-led ecosystem with no central scheme (Yemen, Lebanon). Nepal runs **both** simultaneously — Fonepay (F1Soft-private, eSewa rides this) and NEPALPAY QR (NRB/NCHL public) — with merchants commonly displaying both stickers because the two networks do **not** scan each other <sup>[3][3], [4][4]</sup>.

- **One Alipay+ partnership turned 500,000+ stickers into cross-border-tourist acceptance overnight.** The Fonepay × Alipay+ go-live on **28 August 2025** at The Soaltee Kathmandu enabled 11+ Asian wallets (Alipay, KakaoPay, GCash, Touch 'n Go, AlipayHK, TrueMoney, Tinaba and others) on **every existing eSewa Business QR** with no merchant action required — the merchant didn't even have to re-print the sticker <sup>[3][3]</sup>.

## Status

**Active and dominant** <sup>[2][2], [3][3], [4][4]</sup>:
- eSewa remains Nepal's most widely used wallet (10M+ users, 450K+ merchants).
- eSewa QR rides the **Fonepay** interoperable network; Alipay+ cross-border live since 28 Aug 2025.
- The Fonepay-vs-NEPALPAY QR rail split persists; eSewa stays on Fonepay.
- No deprecation; eSewa QR is a core, growing payment surface.

## Sources

[1]: https://english.onlinekhabar.com/esewa-digital-wallet-history.html "The story behind eSewa — OnlineKhabar"
[2]: https://blog.esewa.com.np/best-digital-wallet-of-nepal "eSewa awarded by NRB for 15 years — eSewa Blogs"
[3]: https://blog.esewa.com.np/alipay-on-esewa-business-qr "eSewa enables international payments via Fonepay & Alipay+ — eSewa Blogs"
[4]: https://www.gadgetbytenepal.com/business-qr-in-nepal/ "Business QRs in Nepal — Fonepay, NepalPay & SmartQR — GadgetByte"
[5]: https://www.emvco.com/emv-technologies/qr-codes/ "EMV QR Code Specifications — EMVCo"
[6]: https://blog.esewa.com.np/how-to-use-scan-and-pay-from-esewa-app "How to use Scan and Pay from eSewa app — eSewa Blogs"
[7]: https://f1soft.com/business/fonepay "Fonepay — Nepal's largest interoperable payment network (EMV-compliant) — F1Soft"
[8]: https://github.com/voidarchive/nepal-payment-go "voidarchive/nepal-payment-go — GitHub"
[9]: https://github.com/manibibek/payment-gateways-in-nepal "manibibek/payment-gateways-in-nepal — GitHub"
[10]: https://github.com/mvallim/emv-qrcode "mvallim/emv-qrcode — GitHub"
[11]: https://developer.esewa.com.np/ "eSewa Developer Documentation"
[12]: https://english.onlinekhabar.com/khalti-digital-wallet-nepal.html "Khalti: How this digital wallet started in Nepal — OnlineKhabar"

- [1] [The story behind eSewa — OnlineKhabar][1]
- [2] [eSewa 15 years / best digital wallet — eSewa Blogs][2]
- [3] [eSewa + Fonepay + Alipay+ — eSewa Blogs][3]
- [4] [Business QRs in Nepal — GadgetByte][4]
- [5] [EMV QR Code Specifications — EMVCo][5]
- [6] [Scan and Pay from eSewa app — eSewa Blogs][6]
- [7] [Fonepay — F1Soft][7]
- [8] [voidarchive/nepal-payment-go — GitHub][8]
- [9] [manibibek/payment-gateways-in-nepal — GitHub][9]
- [10] [mvallim/emv-qrcode — GitHub][10]
- [11] [eSewa Developer Documentation][11]
- [12] [Khalti — story of Nepal's other major wallet — OnlineKhabar][12]
- <sup>[Nepal report](https://docs.barcoder.ai/docs/payments/NP)</sup> `reports/countries/NP-nepal.md`

## Deployments

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

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

## Deployments

_No country reports mention this standard by name._
