Create one or multiple payouts
Create a single payout or batch of payouts. Send a single payout object or an array of payout objects. The source currency can be specified via inputCurrency field, or will be automatically selected from the currency with the largest available balance. When the beneficiary is supplied inline (no beneficiary.id), the beneficiary is resolved idempotently: if any account matches an existing active beneficiary for this client, the existing beneficiary is reused and no duplicate row is created.
Authorizations
Enter Auth0 JWT token
Headers
Client-generated key scoped per workspace. A repeat with the same key and the same request body replays the original response without creating a second payout. A repeat with the same key and a different body is rejected (422). A repeat while the first request is still in flight returns a retryable 409. Keys expire 24 hours after the original request completes; a repeat after expiry is treated as a new request.
Body
Single payout object or array of payout objects
- object
- object[]
Amount to be paid out (as string to avoid floating-point precision issues)
^[0-9]+(.[0-9]{1,8})?$"100.50"
Beneficiary information. RECOMMENDED: Reference an existing beneficiary by providing just the ID (e.g., {"id": "uuid"}). Alternatively, provide the full beneficiary object with account details to create a new one inline.
{
"id": "cc82fa1d-fc7a-478c-a734-d3bce40464e7"
}Client reference for idempotency (max 100 characters)
100"PAYOUT-REF-12345"
Currency code (ISO 4217). Default enabled currencies: EUR, USD, GBP, USDC, EURC, NGN. Contact your account manager to enable additional currencies.
EUR, USD, GBP, USDC, USDT, EURC, NGN, XOF, XAF, GHS, ZMW, MZN, MWK, EGP "EUR"
Payment route to use
sepa_inst, sepa_credit, bank_transfer, ach, fedwire, swift, crypto, mobile_money "sepa_inst"
Comment for the payout
500"Monthly salary payment"
Optional description of the payout (max 500 characters)
500"Payment for services rendered"
External sender (originator) reference. Used as the crypto Travel Rule originator id; defaults to your client id when omitted.
100"SENDER-123"
Input currency to debit from (optional). If provided, this currency will be used as the source for the payout. If not provided, the system will automatically select the currency with the largest available balance (balance minus pending transactions). Defaults to USD if no balances are found. Default enabled currencies: EUR, USD, GBP, USDC, EURC, NGN. Contact your account manager to enable additional currencies.
EUR, USD, GBP, USDC, USDT, EURC, NGN, XOF, XAF, GHS "EUR"
Invoice ID associated with the payout
100"INV-2024-001"
Purpose of the payout
100"salary"
S3 key of the uploaded purpose-of-payment document. REQUIRED for SWIFT payouts. Obtain it from POST /v1/payouts/pop-documents/upload-url.
512"pop-documents/cc82fa1d-fc7a-478c-a734-d3bce40464e7/9f1c.../invoice.pdf"
Cross-rate FX quote ID. Required for cross-currency payouts in supported corridors (e.g., NGN->GBP). Optional for same-currency payouts.
"123e4567-e89b-12d3-a456-426614174000"
Optional reference for the payout (max 140 characters)
140"PAYOUT-2024-001"
Sender (originator) information. Used as the originator identity for the crypto Travel Rule, and required for card payouts. If omitted, the workspace (your account) is used as the business originator — so supply this only when paying out on behalf of a distinct third party.
Response
Multiple payouts created
Single payout created
Amount of the payout (as string to avoid floating-point precision issues)
"100.50"
Beneficiary information
{
"accounts": [
{
"createdAt": "2024-01-15T10:30:00Z",
"currency": "EUR",
"data": {
"bic": "DEUTDEFF",
"iban": "DE89370400440532013000"
},
"id": "123e4567-e89b-12d3-a456-426614174000",
"status": "active",
"type": "iban",
"updatedAt": "2024-01-15T10:35:00Z"
}
],
"createdAt": "2024-01-15T10:30:00Z",
"email": "john.doe@example.com",
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "John Doe",
"status": "active",
"updatedAt": "2024-01-15T10:35:00Z"
}Creation timestamp
"2024-01-15T10:30:00Z"
Currency code (ISO 4217). Default enabled currencies: EUR, USD, GBP, USDC, EURC, NGN. Contact your account manager to enable additional currencies.
EUR, USD, GBP, USDC, USDT, EURC, NGN, XOF, XAF, GHS "EUR"
Fee charged for the payout (as string to avoid floating-point precision issues)
"2.50"
Unique identifier for the payout
"123e4567-e89b-12d3-a456-426614174000"
Client-facing payment rail. Provider names are never exposed; a provider-routed transfer reads as a generic rail (e.g. international).
"international"
Current status of the payout
created, queued, processing, paid, failed, cancelled "processing"
Type of payout
fiat, crypto "fiat"
Last update timestamp
"2024-01-15T10:35:00Z"
Account balance after this transaction (in input currency, e.g., EUR)
"98.87"
Client-supplied idempotency reference provided at payout creation. Stable across retries and the natural lookup key for support / reconciliation. Absent on provider-synthesized DTOs (e.g. webhook callbacks) where the original client ref is not in scope.
100"PAYOUT-REF-12345"
Completion timestamp
"2024-01-15T10:40:00Z"
Description of the payout
"Payment for services rendered"
Category of failure for client-facing display
payment_not_approved, recipient_details, amount_issue, technical_error "payment_not_approved"
Reason for failure if payout failed
"Insufficient funds"
FX rate applied (rate with markup charged to the client, e.g., 970.87 NGN per EUR)
"970.87378641"
Input amount (total amount charged to the client including fee, in input currency)
"1.13"
Input currency (the currency debited from the client account). This is determined by the inputCurrency provided in the request, or automatically selected as the currency with the largest available balance, or defaults to USD. For example, EUR when paying out NGN. Default enabled currencies: EUR, USD, GBP, USDC, EURC, NGN. Contact your account manager to enable additional currencies.
EUR, USD, GBP, USDC, USDT, EURC, NGN, XOF, XAF, GHS "EUR"
Payout account data (JSONB)
{
"account": 123456789,
"bankCode": "044",
"crAccount": "0123456789"
}Payout account ID
"123e4567-e89b-12d3-a456-426614174000"
Processing start timestamp
"2024-01-15T10:32:00Z"
Reference from the payment provider
"TXN123456789"
Optional free-text memo/narration that appears on the recipient side. Use clientRef for idempotency / support lookups.
"January invoice"
On-chain transaction hash for crypto payouts, once the transfer is broadcast to the network. Null for non-crypto payouts or before broadcast.
"0x3a1f9c2b4d5e6f70819a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f70"
SWIFT UETR (Unique End-to-end Transaction Reference) for SWIFT payouts, once the provider exposes it. Null otherwise.
"4afd0a57-03af-4138-9341-373a78891ea9"