Jaza
Prepaid Billing Infrastructure for African Apps
Credit wallets, Mobile Money and card top-ups, and a ledger your backend can trust — without rebuilding MoMo, ledgers, and top-up UI.
The missing middle
Africa already runs on prepaid. Your billing stack still assumes monthly subscriptions.
Electricity, data, airtime — people top up when they need to. Gateways move cash; global billing assumes cards and locked-in stores. Neither gives you wallets, feature costs, or a top-up flow your users will finish.
Most users don’t have a card
In much of Africa, Mobile Money is the everyday wallet. If your checkout only speaks Visa, you lose the people who would actually pay you.
Pay-first feels like a trap
People top up airtime and data when they need it — not months ahead. A “subscribe or leave” wall reads as opaque, not premium.
Subscriptions fight how people spend
Monthly billing assumes stable cards and App Store habits. Prepaid culture expects credits you can see, spend, and refill.
DIY MoMo is a second product
Provider accounts, FX, webhooks, retries, and reconciliation eat weeks before your first real feature ships.
Wallets are easy to get wrong
Balances, double-spend, and race conditions under load turn into support tickets and silent revenue leaks.
Top-up UI is the conversion cliff
If checkout feels foreign or unfinished, users bounce. No completed top-up means no credits — and no business.
Every country is a new rabbit hole
Different rails, rates, and local currencies. Expanding markets shouldn’t mean rewriting payments from scratch.
Getting paid in USD is hard
Collecting local is only half the job. Founders still need a clean path from MoMo collections to a bank account they can run on.
What Jaza solves
Prepaid billing your users already understand
Built for merchants shipping apps in Africa — so you sell access in credits, collect locally, and run the product without rebuilding payments infrastructure.
Metered billing for every action
Charge for messages, AI turns, minutes, or any feature you define — in credits you set, not a one-size-fits-all subscription.
Top-up UI people actually finish
Mobile Money (and card) flows your customers already trust. Fewer abandoned checkouts means more credits sold.
Gating for chargeable actions
Unlock paid features only when users have balance. You protect revenue without building a paywall from scratch.
A dashboard for your app’s economics
See top-ups, usage, and what you can settle — so founders and operators know how the business is performing.
How it works
Features, top-ups, and consume — the stack prepaid apps actually need
Configure costs in the dashboard, let users buy credits with Mobile Money or cards, then meter from your backend. Jaza keeps the ledger and settlements.
- 01
Price every action in credits
Define features once — fixed costs for messages, variable overrides for AI tokens. Your product economics stay in the dashboard, not buried in SQL.
Dashboard · FeaturesSEND_MESSAGE
Chat send
5 cr
AI_CHAT
Default AI turn
10 cr
LIVE_MINUTE
Stream minute
2 cr
- JazaTopUpButton · packs
Starter
500 credits
KES 500
Creator
2,000 credits
KES 1,800
Pro
5,000 credits
KES 4,000
MTN · Airtel · M-Pesa · card — checkout UI included02Users top up the way they already pay
Ship JazaTopUpButton — bundles, phone, country, and MoMo/card flow. No assembling a fragile checkout on top of raw collection APIs.
- 03
Meter from your API — never the device
Call jaza.consume with a feature code (and optional credits override). Idempotent, race-safe ledger debits — balances stay measurable without extra DIY tables.
// server only — @jazadev/node await jaza.consume({ customerId, featureCode: 'AI_CHAT', credits: 42 // optional override, idempotencyKey: 'ai_job_8841', });
SDKs
Backend meters. Frontend ships the wallet UI.
Use JazaBalance, JazaTopUpButton, JazaLedger, and JazaActionButton on the client — consume stays on the server with your secret key.
Backend

Node.js
@jazadev/node
Frontend
React Native
@jazadev/react-native

React
@jazadev/react
Flutter
Coming soon
Swift
Coming soon
Kotlin
Coming soon
Full guides and API surface in the docs.
Pricing
Simple pricing: 5% on every top-up
Customers pay the listed top-up amount. Jaza takes 5% from the merchant share — not stacked on top of what the user sees — and credits your settlement wallet with the rest.
Customer top-up
$10.00
What they pay in local currency (MoMo or card)
Platform fee (5%)
−$0.50
Taken from your share — FX and collection handled for you
Net to settlement
$9.50
Ready for USD bank payout from $100
One approach across African markets
Collect Mobile Money in 19+ countries with a single setup. Grow into new markets without rebuilding checkout for every country.
USD settlements to your bank
Local collections convert into credits and USD. Request payout from $100 — plan and operate in a currency you can trust.
Ready-made balance, top-up, and paywall UI
Drop prepaid into the app you already have — any stack. Users see balance and top up; you control when paid actions unlock.
FAQ
Questions founders ask before shipping prepaid
Straight answers on prepaid billing for African apps — for builders and the people running the business.
Across much of Africa, people already buy airtime, data, and services in small top-ups — when they need them. Prepaid credits match that habit. Monthly subscriptions assume stable cards and long commitments many users won’t make.
No. Most will pay with Mobile Money. Jaza also supports card where it helps, but MoMo is the everyday wallet — and that’s where conversion lives.
Users top up in local currency. Jaza converts into credits for your app and USD for you. When you’re ready, request a settlement to your bank from $100 — without stitching together a different payout path per country.
A transparent platform fee on each completed top-up, taken from the merchant share — not added on top of what the customer pays. You keep about 95% in your settlement wallet. Collection, FX into credits, and the prepaid stack are included in that model.
Yes. Jaza is built to drop into the app and backend you already run. Your users get balance, top-up, and gated actions; your server decides when to charge credits. You’re not rewriting your product around a new framework.
Start in sandbox to try the full flow safely, then switch to live keys when you’re ready. Configure features and credit packs in the dashboard, embed the prepaid experience, and meter from your backend — without months of payments plumbing.
Ship prepaid wallets without rebuilding MoMo and ledgers
Create an app in the dashboard, drop in the SDKs, and meter from your API — live in minutes.