Webhooks
Receive real-time notifications when events occur on Senddy.
Overview
Webhooks allow your application to receive real-time HTTP notifications when events occur. Instead of polling the API, Senddy sends a POST request to your configured endpoint.
Setting up webhooks
- Go to your Developer Settings
- Navigate to the Webhooks section
- Enter your endpoint URL (must be HTTPS)
- Select the events you want to receive
- Save your configuration
Event types
| Event | Description |
|---|---|
payment.received | A payment was received to your address |
payment.confirmed | A payment has been confirmed on-chain |
deposit.completed | A deposit has been shielded into the privacy pool |
withdrawal.completed | A withdrawal has been processed |
bridge.completed | A cross-chain bridge transfer has arrived |
Webhook payload
All webhooks are delivered as HTTP POST requests with a JSON body:
{
"id": "evt_abc123",
"type": "payment.received",
"timestamp": "2025-01-15T12:00:00Z",
"data": {
"amount": "50000000",
"currency": "USDC",
"memo": "Order 123"
}
}Verifying webhooks
Each webhook request includes a signature header for verification:
X-Senddy-Signature: sha256=...Verify the signature using your webhook secret (available in Developer Settings) to ensure the request is authentic.
Retry policy
If your endpoint returns a non-2xx status code, Senddy will retry delivery:
- 1st retry: 1 minute after failure
- 2nd retry: 5 minutes
- 3rd retry: 30 minutes
- 4th retry: 2 hours
- 5th retry: 24 hours
After 5 failed attempts, the webhook is marked as failed and no further retries are attempted.
Requirements
- Webhooks are available on the Developer plan ($29/mo) and above
- Endpoint must accept HTTPS POST requests
- Endpoint must respond within 10 seconds
- Maximum payload size: 64 KB