Payments
Coinbase Commerce Webhooks
Cryptocurrency payment platform. Receive events for charges, payments, and timeline updates.
Connecting Coinbase Commerce to Hookbase
Create a source in Hookbase first — it gives you an ingest URL to paste into Coinbase Commerce. Then:
- 1Go to Coinbase Commerce → Settings → Webhook subscriptions
- 2Click "Add an endpoint" and paste your Hookbase ingest URL
- 3Copy the shared secret and add it to your Hookbase source
- 4Events fire as charges move through payment states
Signature verification
Coinbase Commerce signs its webhooks with HMAC-SHA256 in X-CC-Webhook-Signature, and Hookbase has no verifier for that combination today. We would rather say so here than let a source report every event as verified while nothing was checked.
What you can do:
- Receive them on a
customsource with no signing secret. Hookbase still dedupes, retries, transforms, routes and replays them; it just does not vouch for the sender. - Set a signing secret anyway if Coinbase Commerce can be configured to send a hex HMAC-SHA256 of the raw body in
X-Signature,X-Webhook-SignatureorX-Hub-Signature-256— that is the one scheme the custom verifier implements. - Verify downstream: the original headers travel with the event, so your own service or a transform can check the signature itself. The key is at Coinbase Commerce → Settings → Webhook subscriptions → Shared Secret.
- Narrow the blast radius with an IP allowlist and a hard-to-guess source slug.
Coinbase Commerce event types
5 of the events people route most often. Hookbase accepts every event Coinbase Commerce sends, whether or not it is listed here.
charge:created
A new charge was created
charge:confirmed
A charge was confirmed on the blockchain
charge:failed
A charge failed
charge:pending
A charge is pending confirmation
charge:resolved
A charge was resolved
What a Coinbase Commerce webhook looks like
A charge:confirmed payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"id": "evt_abc123",
"type": "charge:confirmed",
"api_version": "2018-03-22",
"created_at": "2024-01-15T10:30:00Z",
"data": {
"id": "charge_def456",
"code": "ABCD1234",
"name": "Premium Plan",
"pricing": {
"local": {
"amount": "100.00",
"currency": "USD"
},
"bitcoin": {
"amount": "0.00234",
"currency": "BTC"
}
},
"timeline": [
{
"status": "NEW",
"time": "2024-01-15T10:00:00Z"
},
{
"status": "CONFIRMED",
"time": "2024-01-15T10:30:00Z"
}
]
}
}Start receiving Coinbase Commerce webhooks
Create a source, paste the URL into Coinbase Commerce, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free