Skip to main content
WEBHOOK
disbursementChanged
{
  "eventType": "acceptance.disbursement.pending",
  "eventId": "678c9012-d34a-67c8-f901-971169629000",
  "timestamp": "2026-04-17T17:00:00.000Z",
  "data": {
    "disbursementId": "disbursement_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
    "source": {
      "accountId": "account_af2937b0-9846-4fe7-bfe9-ccc22d935114",
      "asset": "usdc"
    },
    "target": {
      "coinbaseUserId": "coinbase_user_abc123"
    },
    "amount": "25.00",
    "asset": "usdc",
    "status": "pending",
    "reason": "Goodwill disbursement for delayed shipment.",
    "externalReferenceId": "disbursement-2026-04-1234",
    "metadata": {
      "customer_id": "cust_12345",
      "order_id": "order_67890"
    },
    "createdAt": "2026-04-17T17:00:00.000Z",
    "updatedAt": "2026-04-17T17:00:00.000Z"
  }
}

Authorizations

Authorization
string
header
required

A JWT signed using your CDP API Key Secret, encoded in base64. Refer to the Generate Bearer Token section of our Authentication docs for information on how to generate your Bearer Token.

Body

application/json

The disbursement resource at the time the event was emitted. The payload always includes the full disbursement summary; on failed events the error field is populated, and on succeeded events the onchainTransactions field is populated.

Webhook event payload sent whenever a disbursement's status changes. Each status transition has its own event type in the acceptance.disbursement.* family, allowing subscribers to selectively receive only the events they care about.

eventType
enum<string>
required

The type of webhook event. Each disbursement status transition maps to a distinct event type in the acceptance.disbursement.* family.

Available options:
acceptance.disbursement.pending,
acceptance.disbursement.succeeded,
acceptance.disbursement.failed
Example:

"acceptance.disbursement.succeeded"

eventId
string<uuid>
required

Unique identifier for this webhook event. Use this for idempotency.

Example:

"123e4567-e89b-12d3-a456-426614174000"

timestamp
string<date-time>
required

When this event occurred (ISO 8601 format).

Example:

"2026-04-17T17:05:00.000Z"

data
object
required

The disbursement resource at the time the event was emitted.

Example:
{
"disbursementId": "disbursement_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
"source": {
"accountId": "account_af2937b0-9846-4fe7-bfe9-ccc22d935114",
"asset": "usdc"
},
"target": { "coinbaseUserId": "coinbase_user_abc123" },
"amount": "25.00",
"asset": "usdc",
"status": "succeeded",
"reason": "Goodwill disbursement for delayed shipment.",
"externalReferenceId": "disbursement-2026-04-1234",
"metadata": {
"customer_id": "cust_12345",
"order_id": "order_67890"
},
"createdAt": "2026-04-17T17:00:00.000Z",
"updatedAt": "2026-04-17T17:05:00.000Z",
"onchainTransactions": [
{
"transactionHash": "0xabc123def456789012345678901234567890abcdef1234567890abcdef123456",
"network": "base"
}
]
}

Response

Webhook received and processed successfully. Return a 200 status code to acknowledge receipt. If your endpoint does not return a 2xx status code, the webhook will be retried with exponential backoff.