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

# Payouts Overview

> Disburse funds to bank accounts, mobile money wallets, and crypto addresses across Africa and beyond

PCX supports outbound payments — payouts — to bank accounts, mobile money wallets, and crypto addresses. Whether you are paying a supplier, disbursing wages, settling a marketplace transaction, or running an off-ramp, PCX routes each payment based on currency, country, and method.

***

## Payout methods

| Method            | Best for                                                 | Currencies                        |
| ----------------- | -------------------------------------------------------- | --------------------------------- |
| **Bank transfer** | B2B payouts, supplier payments, high-value disbursements | NGN, KES, GHS, ZAR, RWF, USD, GBP |
| **Mobile money**  | Consumer disbursements across East and West Africa       | KES, RWF, GHS, NGN                |
| **Crypto**        | Stablecoin payouts, off-ramp to beneficiary wallets      | USDC, USDT, BTC, ETH              |

***

## How a payout flows through PCX

All payout flows share the same initiation path. The key difference from a collection is `direction: "payout"` (for single-currency) or including an `org_rate_id` for cross-border:

```
1. Register the recipient as a beneficiary (bank or mobile money account)
2. Optionally validate their account details before initiating
3. Call the initiation API with direction: "payout"
4. PCX submits the outbound transfer
5. You receive payment.completed or payment.failed on your webhook endpoint
```

***

## Cross-border payouts

For cross-border remittances — collecting in one currency and disbursing in another — PCX handles the FX conversion as part of the payment flow:

1. Fetch a locked exchange rate → receive `org_rate_id`
2. Initiate a payin in the source currency with `org_rate_id`
3. PCX converts at the locked rate and initiates the payout to the beneficiary in the destination currency automatically

The `direction` on the API call is `payin` for cross-border flows — it refers to the collection leg. The outbound payout to the beneficiary is triggered internally once the payin confirms.

See [Exchange Rates and Fees](/guides/settlement/exchange-rates-and-fees) for rate management.

***

## Prerequisites

Before disbursing funds:

1. Your organization must be KYB-verified — see [Organizations](/concepts/organizations)
2. You need a valid API key — see [Authentication](/essentials/authentication)
3. The recipient must be registered as a [Beneficiary](/concepts/beneficiaries)
4. For NGN bank payouts, optionally validate the account — see [Beneficiary Validation](/guides/payouts/beneficiary-validation)
5. Register a webhook endpoint to receive `payment.completed` and `payment.failed` — see [Webhooks](/essentials/webhooks)

***

## Idempotency

PCX does not implement server-side idempotency keys. Before initiating a payout, check whether a payment with the same `client_reference` already exists to avoid duplicate disbursements. Use a deterministic `client_reference` (e.g. `PAYOUT-{order_id}`) on every request so duplicate retries can be detected on your side.
