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

# Payouts overview

> Disburse funds to mobile money wallets, bank accounts, paybills, and tills through one endpoint.

A **payout** is an outbound transaction that disburses funds from your Zerocash account to a
recipient. One endpoint covers every destination — the `destination` field and the shape of
`payoutMethod` decide where the money goes.

## Supported destinations

| `destination`        | Use when                             | Recipient details needed                       | Notes                                                                 |
| :------------------- | :----------------------------------- | :--------------------------------------------- | :-------------------------------------------------------------------- |
| `MoMo`               | Sending to a mobile money wallet     | Name, phone number, sometimes an operator code | Codes are on the [operators](/guides/mobile-money-operators) page     |
| `Bank Account`       | Sending to a bank account            | Account holder name, account number, bank code | Get the bank code from [Get Banks](/api-reference/endpoint/get-banks) |
| `Paybill`            | Sending to an M-Pesa Paybill account | Name, account number, business number          | Kenya only                                                            |
| `Till`               | Sending to an M-Pesa Till number     | Name and till number                           | Kenya only                                                            |
| *(external account)* | Repeat payouts to a saved recipient  | `externalAccountId` only                       | See [external accounts](/guides/payouts/external-accounts)            |

## Coverage

Payouts are currently live in:

| Country       | Supported methods                           |
| :------------ | :------------------------------------------ |
| Kenya         | Mobile Money, Bank Transfers, Paybill, Till |
| Ghana         | Mobile Money, Bank Transfers                |
| Malawi        | Mobile Money, Bank Transfers                |
| Rwanda        | Mobile Money, Bank Transfers                |
| Tanzania      | Mobile Money, Bank Transfers                |
| Benin         | Mobile Money                                |
| Burkina Faso  | Mobile Money                                |
| Burundi       | Mobile Money                                |
| Cameroon      | Mobile Money                                |
| Côte d'Ivoire | Mobile Money                                |
| DRC           | Mobile Money                                |
| Gambia        | Mobile Money                                |
| Nigeria       | Bank Transfers                              |
| Senegal       | Mobile Money                                |
| Sierra Leone  | Mobile Money                                |
| South Sudan   | Mobile Money                                |
| Uganda        | Mobile Money                                |
| Zambia        | Mobile Money                                |
| Zimbabwe      | Mobile Money                                |

<Info>
  See [supported countries & limits](/guides/supported-countries) for per-corridor minimums and
  maximums, or fetch the live list from
  [Get Countries](/api-reference/endpoint/get-countries).
</Info>

## Key capabilities

<CardGroup cols={2}>
  <Card title="Universal endpoint" icon="code-merge">
    Every destination type goes through a single API call — no separate integration per rail.
  </Card>

  <Card title="Multi-currency" icon="money-bill-transfer">
    Pay recipients in their local currency while debiting a different wallet. Conversion is
    handled for you.
  </Card>

  <Card title="Saved beneficiaries" icon="address-book">
    Store recipient details as external accounts and reference them by ID for repeat payouts.
  </Card>

  <Card title="Real-time tracking" icon="satellite-dish">
    Follow status through webhooks or by querying the transaction.
  </Card>
</CardGroup>

## Happy path

<Steps>
  <Step title="Prepare the details">
    Gather the recipient's name, destination account, country, currency, and amount.
  </Step>

  <Step title="Choose a destination">
    Set `destination` to `MoMo`, `Bank Account`, `Paybill`, or `Till` — or pass an
    `externalAccountId`.
  </Step>

  <Step title="Send the payout">
    Submit with a unique `externalReference`.
  </Step>

  <Step title="Monitor the status">
    Use webhooks for real-time updates, and the transaction endpoint for manual checks.
  </Step>

  <Step title="Reconcile">
    Store the returned `transactionId`, the final status, and any `thirdPartyReference`.
  </Step>
</Steps>

## Limits and considerations

<AccordionGroup>
  <Accordion title="Transaction limits" icon="ruler">
    Every country and method has a minimum and maximum. Validate your amount against
    [supported countries & limits](/guides/supported-countries) before sending, so you fail fast
    rather than at the provider.
  </Accordion>

  <Accordion title="Processing time" icon="clock">
    | Destination    | Typical time                      |
    | :------------- | :-------------------------------- |
    | Mobile Money   | 1–5 minutes                       |
    | Paybill / Till | 1–5 minutes                       |
    | Bank Transfers | 1–24 hours, depending on the bank |
  </Accordion>

  <Accordion title="Wallet balance" icon="wallet">
    Your account must hold sufficient balance in the debited currency before you initiate a
    payout. Underfunded payouts fail.
  </Accordion>

  <Accordion title="Retrieving bank codes" icon="building-columns">
    For bank payouts, fetch the supported banks and their codes for the target country:

    ```text theme={null}
    GET /api/b2b/utilities/banks?country=KE
    ```

    Some banks also require a branch — see
    [Get Branches](/api-reference/endpoint/get-branches).
  </Accordion>
</AccordionGroup>

## Best practices

<CardGroup cols={2}>
  <Card title="Validate before sending" icon="user-check">
    Confirm recipient details with
    [Account Resolver](/api-reference/endpoint/account-resolver) so you catch bad account numbers
    before the money moves.
  </Card>

  <Card title="Save recurring recipients" icon="address-book">
    Use external accounts for anyone you pay more than once.
  </Card>

  <Card title="Handle failures explicitly" icon="triangle-exclamation">
    Map failures to the [transaction error codes](/guides/errors/transaction-error-codes) so you
    know which are retryable.
  </Card>

  <Card title="Keep an audit trail" icon="clipboard-list">
    Record every payout with its references for reconciliation and auditing.
  </Card>
</CardGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Send a payout" icon="paper-plane" href="/guides/payouts/payouts">
    The full implementation guide, with a request shape for every destination.
  </Card>

  <Card title="External accounts" icon="address-book" href="/guides/payouts/external-accounts">
    Store and manage saved recipients.
  </Card>
</CardGroup>
