Webhooks
Create Webhook
Register webhook endpoints to receive real-time transaction status updates
POST
Register webhook endpoints to receive real-time notifications about transaction status changes. Webhooks are essential for tracking private mode transactions that may take 30-120 seconds to complete.
Verification Example:
After 6 failed attempts, webhook delivery is abandoned.
Request Body
Your webhook endpoint URL (must be HTTPS)
Array of event types to subscribe to:
transaction.pendingtransaction.confirmedtransaction.completedtransaction.failed
Secret key for webhook signature verification (recommended)
Response
Unique webhook identifier
Your webhook endpoint URL
Subscribed event types
Webhook creation timestamp (ISO 8601)
Webhook Events
Event Types
transaction.pending
Transaction submitted to network
transaction.confirmed
Transaction confirmed on-chain
transaction.completed
Transaction fully processed (final state)
transaction.failed
Transaction failed or reverted
Event Payload
All webhook events include this payload structure:Webhook Security
Signature Verification
Webhooks include a signature header for verification:Security Best Practices
Webhook Endpoint Requirements
Response Requirements
Your webhook endpoint must:- Respond with HTTP 200 status code
- Respond within 10 seconds
- Return any response body (ignored)
Retry Policy
Failed webhook deliveries are retried with exponential backoff:| Attempt | Delay | Total Time |
|---|---|---|
| 1 | Immediate | 0s |
| 2 | 1 minute | 1m |
| 3 | 5 minutes | 6m |
| 4 | 15 minutes | 21m |
| 5 | 1 hour | 1h 21m |
| 6 | 6 hours | 7h 21m |
Testing Webhooks
Webhook Testing Tool
Use tools like ngrok for local development:Test Events
You can trigger test webhook events:Managing Webhooks
List Webhooks
Update Webhook
Delete Webhook
Error Responses
Error code identifier
Human-readable error message
Additional error context
Common Errors
| Code | Description |
|---|---|
INVALID_URL | Webhook URL is not valid HTTPS |
INVALID_EVENTS | Unknown event types specified |
URL_UNREACHABLE | Cannot reach webhook URL during validation |
WEBHOOK_LIMIT_EXCEEDED | Too many webhooks registered |
Rate Limits
Webhook registration is subject to rate limits:| Tier | Webhooks | Registrations/Hour |
|---|---|---|
| Free | 3 | 10 |
| Pro | 10 | 50 |
| Enterprise | 50 | 200 |
Next Steps
Transaction Status
Learn about transaction status polling as an alternative
API Introduction
Review authentication and rate limiting details