Skip to main content
Disbursements are merchant-initiated payments of funds from your CDP account to a Coinbase user or onchain address. Use them for standalone refunds, goodwill payments, rebates, and other payouts that are not tied to a specific payment session.
For returning captured funds to the buyer within a payment session, use session refunds instead. Disbursements are for payouts independent of any session.

When to use disbursements

Create a disbursement

Disbursements are asynchronous. The resource is returned in pending status and transitions to succeeded or failed. To a Coinbase user:
To an onchain address:

Target types

Disbursement statuses

Response

When the disbursement succeeds, the response includes the onchain transaction:

Filtering

List disbursements with optional filters:

Webhooks

Subscribe to acceptance.disbursement.* events for real-time status updates: See Webhooks for setup.

Idempotency

Use the X-Idempotency-Key header (UUID v4) to safely retry disbursement requests:
Idempotency keys are stored for 24 hours from the first stored response. Retries don’t extend that window. Within it, a repeated request with the same key returns the original response, unless the original returned 429 or a 5xx status. Those responses aren’t stored, so a retry with the same key is processed as a new request. If a request gets a 429 or 5xx, retry it with the same key and exponential backoff. After 24 hours, the key expires and a retry with it is processed as a new request, which can create a duplicate. Check the resource’s status before retrying an older request.

Payment Sessions

Session-linked refunds for returning captured funds

Webhooks

Real-time disbursement status events

API Reference

Full disbursement API