> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jaza.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Credits

> Credits are the prepaid unit of value in Jaza. Users buy them with Mobile Money and spend them on features you define.

Credits are the abstract unit of value inside Jaza. Customers purchase them with real money (Mobile Money or card, via Jaza) and spend them on features your app provides.

## What credits are

* **Integer-only** — whole numbers only; no fractional credits.
* **App-scoped** — meaning comes from your **bundles** (how many credits a top-up buys) and **features** (how many credits an action costs) in the dashboard.
* Held on a per-customer **wallet** in sandbox or live.

## How credits map to money

Money enters when a customer tops up. Bundle pricing in the dashboard determines how many credits they receive. Jaza collects local currency via Mobile Money, credits the wallet, and settles to you — you do not run FX or aggregator ops yourself.

## How credits map to features

After a customer has credits, your backend spends them with `jaza.consume()` and a `featureCode` configured under **Features** in the dashboard.

| Feature code   | Example cost |
| -------------- | ------------ |
| `SEND_MESSAGE` | 5 credits    |
| `AI_PROMPT`    | 10 credits   |

## Lifecycle

1. **Purchase** — user opens the React Native top-up sheet, picks a bundle, pays with MoMo.
2. **Credit** — Jaza records a ledger credit and increases the wallet.
3. **Spend** — your backend calls `consume` with `featureCode` + `idempotencyKey`.
4. **Audit** — movements stay in the append-only ledger.

## Next steps

* [Wallets](/concepts/wallets) · [Features and bundles](/concepts/features-and-bundles) · [Top up](/guides/top-up)
