Create a payout request
Authorizations
Headers
Unique idempotency token per logical write (UUID v4). Re-send the same value on safe retries.
"a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6"
Body
MOBILE_MONEY, BANK_ACCOUNT, CRYPTO_WALLET "MOBILE_MONEY"
ISO 3166-1 alpha-2 country code
"GH"
ISO 4217 currency code
"GHS"
Amount the beneficiary receives
500
Mobile number or bank account number
"0244000000"
Mobile money provider or bank name
"MTN"
Currency the merchant settles in — USDT (crypto rail) or NGN (bank transfer). Defaults to USDT.
"USDT"
Crypto rail only: the chain the merchant will settle on (TRON or BSC). Selects which per-merchant receiving address the payment instruction shows. Ignored on the bank-transfer rail. Defaults to TRON for crypto settlements.
TRON, BSC "TRON"
Machine code for the destination institution — the bank code for BANK_ACCOUNT, the mobile money code for MOBILE_MONEY. Required for both: the processor routes on this code and never on the display name. Omit for CRYPTO_WALLET. Codes are corridor-specific — fetch them from the processor bank list.
"044"
Beneficiary name. Required for BANK_ACCOUNT and MOBILE_MONEY — the processor rejects a transfer without it.
"Kwame Mensah"
"ref_merchant_xyz_001"
Per-payout webhook override. When set, events for this payout are delivered here instead of the tenant default webhook URL.
"https://merchant.example.com/hooks/this-payout"
Response
Payout created
"a3f1c2d4-..."
CREATED, PENDING_PAYMENT, PAYMENT_RECEIVED, PROCESSING, SUCCESSFUL, FAILED, EXPIRED Per-payout webhook override, if set
MOBILE_MONEY, BANK_ACCOUNT, CRYPTO_WALLET "GH"
"GHS"
500
"0244000000"
"MTN"
Bank code / mobile money code the processor routes on. Null for crypto.
"044"
"USDT"
Set by generate-payment-instructions job
28.5
17.543
1.5
"USDT"
0.5
"USDT"
2
"USDT"
false
Current active payment instruction, if generated (null until the cronjob runs)
Status transition history, oldest → newest
"2026-03-06T14:30:00.000Z"
"2026-03-06T14:30:01.000Z"