Before you start
Refetch the source wallet. Confirm its current status permits the payout and its available balance covers the intended source amount. Store its response-derived ID asSOURCE_WALLET_ID.
You also need a ready payout capability for the current customer and selected destination.
1. Prepare the destination
- First-party
- Third-party
Use a customer-owned external bank account when the customer owns the endpoint. Create it with Read it with
POST /v3/customers/{customerId}/accounts and these headers:GET /v3/customers/{customerId}/accounts/{accountId}. Continue only when its current status permits the payout. Store its acc_ ID as PAYOUT_DESTINATION_ID.2. Create the payout quote
UsePOST /v3/quotes with these headers:
data.id as QUOTE_ID and present the returned price and fees.
3. Execute the payout
Create the transfer withPOST /v3/transfers. Use one new key for this intended execution:
data.id as TRANSFER_ID. A successful create starts the payout; it does not prove delivery.
4. Track delivery
ReadGET /v3/transfers/{transferId} after creation and after each event. Use the latest data.state, data.stateDetail, and data.openTaskIds to decide whether to wait, act, or show a terminal outcome.
Next, review Quotes and transfers for exact amounts, safe execution recovery, and transfer tasks.