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.

  1. 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 · Features
    • SEND_MESSAGE

      Chat send

      5 cr

    • AI_CHAT

      Default AI turn

      10 cr

    • LIVE_MINUTE

      Stream minute

      2 cr

  2. 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
    02

    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.

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

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.