Initiate a business payout
Confirms a payout against a signed quoteToken (LOCAL_BANK / LOCAL_MOMO). Name the destination in exactly one of three ways: recipientId for a recipient saved via POST /v1/business/payouts/recipients; inline recipient to send the details on the payout itself; or, for requests authenticated with x-api-key, inline destination. The quote is scoped to corridor, amount and business — never to a recipient — so one token confirms any of the three. Screening differs by channel: dashboard (JWT) payouts are sanctions-screened and a saved recipient carrying a match is refused; x-api-key payouts are not screened by Axra (the merchant is the obligated party under the merchant agreement) and an inline recipient/destination is paid ad hoc rather than saved, so the payout returns recipientId null. Server-to-server payouts are also exempt from the interactive 2FA gate — the controls are the secret key and the per-corridor velocity caps.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Active business context
Merchant API key (alternative to dashboard JWT)
Body
- Option 1
- Option 2
- Option 3
CRYPTO, ACH, WIRE, SEPA, SWIFT, LOCAL_BANK, LOCAL_MOMO 8 - 64Saved recipient id. For LOCAL_BANK / LOCAL_MOMO provide exactly one of recipientId, inline recipient, or (api-key only) inline destination. On other rails it is mutually exclusive with destination.
Inline recipient details for LOCAL_BANK / LOCAL_MOMO (mutually exclusive with recipientId). Paid in the same call — a single quote→pay round-trip. Behaviour depends on how the request is authenticated: on the DASHBOARD (JWT) the recipient is sanctions-screened, account-resolved and saved to your recipient book; on the MERCHANT API (x-api-key) it is treated as an ad-hoc destination — not screened by Axra and not saved, so the payout comes back with recipientId null and cannot be reused by id. Use POST /v1/business/payouts/recipients first if you want a reusable recipientId.
Ad-hoc destination, mutually exclusive with recipientId. On LOCAL_BANK / LOCAL_MOMO it is accepted only for requests authenticated with x-api-key; a dashboard (JWT) request must use recipientId or inline recipient. Same fields as the rail's recipient details object. Nothing is persisted to your recipient book, so the payout has recipientId null.
Signed quote token from POST /v1/business/payouts/quote (required for LOCAL_BANK / LOCAL_MOMO)
Decimal string (up to 8 fractional digits). Ignored for LOCAL_* rails — amounts come from quoteToken.
/^[0-9]+(\.[0-9]{1,8})?$/"50.00"
Ignored for LOCAL_* rails — wallet debit currency is USDC from the quote.
USDC, EURC, GBPC, NGN Fresh TOTP code when amount >= $10k USD-equivalent
6