Webhooks
Set up webhook delivery with HMAC verification and automatic retries.
Dunmore delivers payment events to your webhook endpoints with HMAC signatures and exponential backoff retries.
Setup
Create a webhook endpoint in the console or via the API. You'll receive a signing secret (whsec_...) for verifying payloads.
Event Types
payment.settled— Payment confirmed on-chainpayment.failed— Payment verification or settlement failedendpoint.created— New endpoint registeredendpoint.updated— Endpoint configuration changed
Payload Format
{
"id": "evt_abc123",
"type": "payment.settled",
"timestamp": "2026-02-18T12:00:00Z",
"data": {
"paymentId": "pay_xyz",
"amount": "0.01",
"currency": "USDC"
}
}
HMAC Verification
Each delivery includes an X-Dunmore-Signature header. Verify it with your signing secret:
const crypto = require('crypto');
const signature = crypto
.createHmac('sha256', webhookSecret)
.update(requestBody)
.digest('hex');
Retry Policy
Failed deliveries are retried with exponential backoff: 1min, 5min, 30min, 2h, 24h.