Skip to main content
Use a customer account when the customer owns the endpoint. Use a recipient and destination when another person or business receives the funds. The recipient records who receives funds. The destination records where they receive them.

1. Create the recipient

Create an individual or business with POST /v3/customers/{customerId}/recipients. Send these headers:
Include the address before creating a fiat destination. Store the returned recipient data.id as RECIPIENT_ID and retain its current status.

2. Add a destination

Create the endpoint with POST /v3/customers/{customerId}/recipients/{recipientId}/destinations. Use a new key for this intended destination:
Use self_custodied only when the recipient controls the wallet. Follow the current API Reference variant when the wallet is held by another custodian. Store the returned destination data.id as DESTINATION_ID and retain its current status.

3. Wait for destination readiness

Read GET /v3/customers/{customerId}/recipients/{recipientId}/destinations/{destinationId} before creating a quote. Continue only when the current destination status permits the payout and its currency, method, and network match the intended movement. Recipient and destination statuses are independent. Use the dst_ destination ID in the payout quote. The rcp_ recipient ID identifies the owner record and is not a quote destination. Next, take the ready destination to Send funds.