Skip to main content
The local bank or mobile money operator is the first party that validates an account number, and by then your payout is already in flight. Failed delivery is the most common payout failure, and every case of it is avoidable with three lookups before you initialize. This guide assumes you can already make signed requests; see Authentication if not.
1

Confirm the destination is supported

Supported countries returns the live country and channel matrix for your account. Read it at runtime rather than hardcoding: corridors are added and paused without notice.Then fetch the exact beneficiary fields the country needs:
Country requirements returns the corridor’s destination_types and, for each one, the field schema your beneficiary object must match. This is the authoritative source, including the per-country quirks like Australia’s bsb_number or India’s IFSCode documented in Send a SWIFT payout.
2

Get valid institution codes

Banks by country returns bank names and codes for bank destinations. Mobile money providers aren’t in this list: read the network options from the country requirements instead. Never let users type a bank code by hand; present this list.Check the corridor’s limits while you are here, so you can reject an out-of-range amount before quoting:
3

Resolve the account

Account lookup confirms the account exists and returns the name it resolves to.
For mobile money, pass type=mobile_money, use the provider as bank_code, and give the phone number in international format as account_number.
Proceed only when is_verified is true, and show account_name to whoever is entering the details so they can confirm it is the person they mean. Mobile money lookups may return bank_code and bank_name empty; that is normal.
Account lookup doesn’t support Ghana bank accounts yet. A lookup with a Ghana bank code returns 400 VALIDATION_ERROR. For GHS bank payouts, skip the lookup, take the bank_code from Get banks, and have your user confirm the account number and name before you finalize. See Ghana.

What this prevents

Once the beneficiary resolves, continue with Send your first payout or go straight to Create quote.