Get Supported Countries
Returns every country you can send payouts to, along with each country's supported currencies and payout rails (destination_types). Use this to populate country pickers in your UI or to discover which corridors are open for a given destination.
Each corridor lists destination_types — values include bank, swift, mobile_money, sepa_eur, domestic_gbp, wire, ach, alipay, wechatpay, paybill, paytill. Combine the destination type with GET /api/payouts/supported-countries/:country to get the exact field schema.
Request
List every payout corridor with GET /api/payouts/supported-countries.
Response Fields
Full list of countries payouts are supported in.
ISO 3166-1 alpha-2 country code (e.g. 'GB', 'NG').
Display name of the country.
Country flag emoji for UI rendering.
International dial prefix. Occasionally a comma-separated list when the country has multiple (e.g. DO → '1809,1829,1849').
Supported payout corridors for this country. Each entry pairs a currency with the destination types available for that currency.
ISO 4217 currency code (e.g. 'USD', 'EUR', 'GHS').
Payout rails available for this (country, currency) pair. See the list above for possible values.
The country list you get in sandbox is a subset of the production list. Always call this endpoint against the environment you're integrating with before hard-coding corridor support.
Get Country Details
Returns the full beneficiary field schema for a single country — a machine-readable destination_types object keyed by rail (bank, swift, mobile_money, alipay, wechatpay, etc.). Each entry lists required fields, their type / component / pattern / min_length / max_length validators, plus any enum options and per-rail limits.
This is the source of truth you should consult before constructing an Initialize payload. Use it to drive dynamic forms, client-side validation, or per-country payload builders.
Path Parameters
ISO 3166-1 alpha-2 country code — must appear in Get Supported Countries (e.g. 'CN', 'NG', 'GB').
Response Fields
Country identity block — same shape as entries in Get Supported Countries.
Map keyed by rail name (e.g. 'bank', 'swift', 'alipay', 'wechatpay', 'mobile_money'). Each value is the full field schema for that rail.
Human-readable label for the rail (e.g. 'Bank Transfer', 'International Wire (SWIFT)').
Ordered list of fields required on the beneficiary for this rail. Each field carries key/label/type/required/component plus optional pattern/min_length/max_length/placeholder/options. Fields of type 'group' contain nested fields; type 'variant' is a discriminated union keyed by variant_key.
Populated for rails that require a bank selector (e.g. 'bank'). Same shape as Get Banks.
Per-rail amount limits: min_amount, max_amount, currency.
The response is designed to drive auto-generated forms. Each field's component (text, select, date, country_select, fieldset, variant_fieldset) maps one-to-one to a form control; options_ref points at shared enum lists so you don't re-hardcode them per country.
Get Banks
Returns the bank and mobile-money directory for a country — a flat list of providers with their code and display name. Use the returned code as the bank_code input for Account Lookup and as the beneficiary's bank_code on Initialize.
Path Parameters
Two-letter ISO country code (e.g. 'NG', 'KE', 'GH'). Must be one of the codes returned by Get Supported Countries.
Response Fields
Echo of the ISO country code you requested.
Display name of the country (e.g. 'Nigeria').
Total number of bank / provider entries returned (e.g. Nigeria returns 358).
Banks and mobile-money providers supported in the country. Typically sorted alphabetically by bank_name.
Provider code — pass this as bank_code on Account Lookup and as the beneficiary's bank_code on Initialize.
Display name of the bank or mobile-money provider (e.g. 'Access bank', 'PAYSTACK PAYMENTS LIMITED').
Get Limits
Returns the minimum and maximum payout amount for every supported (country, currency) corridor, with pre-computed USD equivalents so you can validate amounts client-side before creating a quote.
Response Fields
One entry per (country, currency) corridor. Countries that support multiple currencies (e.g. GB supports both EUR and GBP) return one limit per currency.
ISO 3166-1 alpha-2 country code (e.g. 'NG', 'GH', 'GB').
ISO 4217 currency code for this corridor (e.g. 'NGN', 'GHS', 'GBP').
Minimum amount for a single payout, expressed as a decimal string in the local currency.
Maximum amount for a single payout, expressed as a decimal string in the local currency.
min_amount converted to USD using the current exchange rate. Useful for validating USD-denominated amounts client-side without calling a conversion endpoint.
max_amount converted to USD using the current exchange rate.
The USD equivalents are computed at request time against the live FX rate. Cache the response sparingly — stale USD bounds may drift from what the quote endpoint will accept.