Create Payouts
Create a single payout or batch of payouts
POST
Create one or multiple payouts to send money to beneficiaries. This endpoint accepts either a single payout object or an array of payout objects for batch processing.Documentation Index
Fetch the complete documentation index at: https://docs.zuba.com/llms.txt
Use this file to discover all available pages before exploring further.
Request
Client reference for idempotency (max 100 characters). This ensures the same payout is not created twice.
Funding currency used to pay for the transaction (e.g., EUR when paying out NGN)
The amount the beneficiary receives as a string (avoids floating-point precision issues). Must match pattern:
^[0-9]+(\.[0-9]{1,8})?$The currency code of value being received (ISO 4217 format, e.g.,
EUR, USD, GBP)Payment route to use. Options:
sepa_inst, sepa_credit, bank_transfer, ach, fedwire, paysendRECOMMENDED: Reference an existing beneficiary by providing just the
id field (e.g., {"id": "uuid"}).Inline beneficiary data is also accepted (full CreateBeneficiary payload with name, country, accounts, etc.). In that case the beneficiary is resolved idempotently: if any submitted account matches an existing active beneficiary for your client, that beneficiary is reused and no duplicate row is created. See Create Beneficiary → Idempotency.Optional payment reference (max 140 characters)
Optional description of the payout (max 500 characters)
Sender information (required for certain routes like Stripe card payouts)
FX rate ID to use for conversion (optional, will use latest if not specified)
Response
Unique identifier for the payout (UUID)
Payment reference
Payout description
The payout amount (as string)
The payout currency
Payment route used:
sepa_inst, sepa_credit, bank_transfer, ach, fedwire, paysendPayout type:
fiat or cryptoCurrent payout status:
created, queued, processing, paid, failed, cancelledFull beneficiary information (see Beneficiary DTO)
Fee charged for the payout (as string)
Reason for failure if payout failed
Currency charged to the client (e.g., EUR when paying out NGN)
Total amount charged to client including fee (in input currency)
FX rate applied (e.g., 1600 NGN per EUR)
Account balance after this transaction (in input currency)
ISO timestamp when the payout was created
ISO timestamp when the payout was last updated
Processing start timestamp
Completion timestamp
Examples
Using Beneficiary ID
Notes
Amount Precision
Note thatamount is passed as a string (e.g., "1000.00") rather than a number. This is intentional to avoid floating-point precision issues in financial calculations.
Payment Routes
sepa_inst- SEPA Instant (usually settled within minutes)sepa_credit- Standard SEPA Credit Transfer (1-2 business days)paysend- Paysend (EUR, USD, GBP)bank_transfer- Generic bank transfer routeach- ACH transfer (USD, US domestic)fedwire- Fedwire transfer (USD, US domestic, same-day settlement)
Error Responses
Webhook Events
This endpoint triggers the following webhook events:payout.created- Payout successfully createdpayout.processing- Payout processing startedpayout.completed- Payout successfully completedpayout.failed- Payout processing failed