Open Zalo on any phone in Ho Chi Minh City and you have already done the hardest part of onboarding a new user. Vietnam didn't build a payments rail first and hope an identity would follow. It built the identity first: Zalo, with 79 million monthly users — about 98% of the country's mobile users — sitting on top of a fast-maturing payment layer. That order is why the country is such natural soil for mini-programs.
The opportunity is not another banking app nobody will install. It is a lightweight program that opens inside Zalo or MoMo, already logged in, already able to pay.
The six dimensions, scored on Vietnamese ground
1. Traffic at scale. Smartphone penetration is 83.2% — roughly 84 million devices — and internet use sits near 77.7%. Zalo alone carries 79 million MAU; MoMo serves 31 million-plus MAU across 140,000 touchpoints and 70 banks. This is daily, habitual attention, not dormant accounts.
2. Openness, at the market level. VietQR forced interoperability across banks and wallets, and the National QR scheme is live. But the super-apps keep their mini-app surfaces closed to outside developers. The rail is open; the hosts are not.
3. Payment closure. A mini-program inherits VietQR plus MoMo (31M MAU), ZaloPay (14–20M active, embedded in Zalo), or VNPay (40-plus banks, 40 million-plus daily transactions). Real-time settlement is the baseline.
4. Identity inheritance. This is Vietnam's standout. Zalo covers 98% of mobile users, so a mini-program opened inside Zalo starts pre-authenticated. Phone-number login via the dominant wallet means near-zero sign-up friction — closer to the WeChat class than almost any market outside China.
5. Developer friendliness. Strong engineering talent and low build cost, but the ecosystem is fragmented: docs and SDKs vary by host, and app-fatigue is real. Lightweight distribution beats begging users to install another native app.
6. Governable. The State Bank of Vietnam regulates e-wallets and runs a fintech sandbox, with data-localization expectations in force. A sandboxed, takedown-capable runtime fits inside that regime, though the framework is younger than Indonesia's or Thailand's.
| Dimension | Score | Vietnamese evidence |
|---|---|---|
| Traffic | S | 84M smartphones, Zalo 79M MAU, MoMo 31M |
| Openness | P | VietQR interoperable, hosts closed |
| Payment | S | VietQR + MoMo / ZaloPay / VNPay |
| Identity | S | Zalo 98% mobile users, pre-auth |
| Developer ease | P | Talent strong, ecosystem fragmented |
| Governance | P | SBV sandbox, younger framework |
Why identity-first is the winning shape
Most markets build payments, then struggle to log users in. Vietnam inverted that: Zalo is already the de facto identity, and MoMo is the de facto wallet. A mini-program that inherits both inherits the two hardest things to build from scratch — and skips the native-app install wall entirely.
The CrossMiniApp angle
CrossMiniApp is a universal runtime plus an open catalog. You build the mini-program once and it runs inside Zalo, MoMo, and the wallet surfaces — inheriting each host's identity and payment, sandboxed and governable, updatable over the air. Vietnam's identity-first structure is the argument: the login problem is already solved, so the value is in a runtime that reaches every host without rebuilding the onboarding each time.
The rule
The best mini-program soil is not where payments are strongest. It is where login is already solved — and Vietnam solved login first.