Jaza

The prepaid billing infrastructure for African software.

Turn Mobile Money into recurring revenue — sell credits, meter usage, and get paid, from your first customer to your millionth.

Demo of topping up credits with Mobile Money
  • 🇧🇯
  • 🇧🇫
  • 🇨🇲
  • 🇨🇮
  • 🇨🇩
  • 🇬🇦
  • 🇰🇪
  • 🇷🇼
  • 🇸🇳
  • 🇸🇱
  • 🇺🇬
  • 🇿🇲

Mobile Money in 12 African countries

The missing middle

Africa already runs on prepaid. Most billing stacks still don’t.

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.

  • People already know how to pay you

    Mobile Money is the everyday wallet — airtime, data, electricity, all top-up. A monthly “subscribe or leave” wall feels foreign. Credits feel familiar.

  • Wallets are easy to get wrong

    Double-spend, race conditions, checkout drop-off — a broken top-up flow doesn’t just lose a sale, it loses the customer. Get this wrong once and you feel it in support tickets and silent revenue leaks.

  • DIY Mobile Money is a second product

    Provider accounts, FX, webhooks, retries, reconciliation — most teams lose weeks to this before writing their first real feature.

  • Every new country shouldn’t mean starting over

    Different rails, different currencies, different settlement paths. Expanding across Africa shouldn’t mean rebuilding payments each time.

What Jaza solves

Prepaid billing your users already understand

Sell access in credits, collect locally, and run your product — without building payments infrastructure yourself.

  • Top-up UI people actually finish

    Mobile Money (and card) flows your customers already trust. Fewer abandoned checkouts means more credits sold.

  • 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.

  • 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

Top up, price, meter — prepaid that ships

Users top up with Mobile Money or card, you price every action in credits, and your backend meters usage — Jaza keeps the ledger and settlements.

  1. 01

    Users 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.

    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 included
  2. Dashboard · Features
    • SEND_MESSAGE

      Chat send

      5 cr

    • AI_CHAT

      Default AI turn

      10 cr

    • LIVE_MINUTE

      Stream minute

      2 cr

    02

    You 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.

  3. 03

    Meter from your API — Jaza keeps the ledger

    Call jaza.consume with a feature code (and optional credits override). Your backend decides when to charge; Jaza handles the balance.

    // server only — @jazadev/node
    await jaza.consume({
      customerId,
      featureCode: 'AI_CHAT',
      credits: 42 // optional override,
      idempotencyKey: 'ai_job_8841',
    });

    Idempotent, race-safe ledger debits — balances stay measurable without extra DIY tables.

SDKs

Backend meters. Frontend ships the wallet UI.

Two SDKs. Every prepaid primitive you need.

Use JazaBalance, JazaTopUpButton, JazaLedger, and JazaActionButton on the client — consume stays on the server with your secret key.

Backend

  • Node.js logo

    Node.js

    @jazadev/node

Frontend

  • Expo logo

    React Native

    @jazadev/react-native

  • React logo

    React

    @jazadev/react

  • Flutter logo

    Flutter

    Coming soon

  • Swift logo

    Swift

    Coming soon

  • Kotlin logo

    Kotlin

    Coming soon

See the full API reference →

Pricing

One rate. No surprises: 5% per 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.

No setup fees. No monthly minimums. You only pay when you get paid.

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 12 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.

People across Africa already buy airtime, data, and services in small top-ups. Prepaid credits match that habit — subscriptions often don’t.

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.

Customer top-ups fund credit balances in your app; settlements sit in your merchant wallet until you request payout. If Jaza is unavailable, your product can keep serving users with already-granted access — and top-ups resume when the network is back. We treat ledger integrity and uptime as core product, not an afterthought.

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.

Markets

One integration. Markets across Africa.

Your customers pay with the Mobile Money they already use. You get one prepaid stack — and room to expand without rebuilding checkout for every country.

  • Benin

    Collect in XOF

  • Burkina Faso

    Collect in XOF

  • Cameroon

    Collect in XAF

  • Côte d'Ivoire

    Collect in XOF

  • Democratic Republic of the Congo

    Collect in USD, CDF

  • Gabon

    Collect in XAF

  • Kenya

    Collect in KES

  • Rwanda

    Collect in RWF

  • Senegal

    Collect in XOF

  • Sierra Leone

    Collect in SLE

  • Uganda

    Collect in UGX

  • Zambia

    Collect in ZMW

12 countries live today — more on the way. Same SDKs when you add a market.

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.