Overview
Why Use Webhooks?
⚡ Real-time Updates
Receive notifications instantly when events happen
🔄 Automatic Retries
Failed deliveries are automatically retried
🔒 Secure Verification
Every webhook includes a signature to verify authenticity
📊 Event Logging
Complete history of all webhook deliveries
🎯 Selective Events
Subscribe only to the events you care about
🚀 Scalable
Handle high-volume event streams
Event Types
Address Events
Master Wallet Events
Payment Link Events
Payment Link Transfer Events
Address Settlement Rule Events
Master Settlement Rule Events
Wildcard Subscriptions
Webhook Payloads
Address Incoming Transfer Example
Master Swap Executed Example
Payment Link Created Example
Settlement Rule Executed Example
Setting Up Webhooks
Via Dashboard
1
Navigate to Webhooks
Go to Settings > Webhooks in the dashboard
2
Create Webhook
Click the Create Webhook button
3
Configure Webhook
Fill in the webhook details:
- URL: Your endpoint URL (must be HTTPS)
- Name: A descriptive name
- Event Types: Select the events you want to receive
4
Copy Secret
Copy the generated webhook secret for signature verification
5
Save and Test
Click Save and test your webhook with a test event
Via API
Managing Webhooks
List Webhooks
Get Webhook Details
Update Webhook
Rotate Webhook Secret
Signature Verification
Why Verify Signatures?
Webhook signatures ensure that requests truly come from XentFi and not an imposter.Verification Code Example
Retry Logic
Retry Schedule
Webhook Events & Retries
You can monitor webhook event delivery status:Get Webhook Event Details
Best Practices
- Always verify signatures - Never trust unverified webhooks
- Respond quickly - Return 2xx within 5 seconds
- Idempotent processing - Handle duplicate webhooks gracefully
- Log all webhooks - Keep audit trail for debugging
- Monitor failures - Set up alerts for failed deliveries
- Queue processing - Use message queues for async handling
- Keep endpoints public - Must be accessible from the internet
Webhook Headers
Event Delivery Status
Troubleshooting
Webhook not received
Webhook not received
Possible causes:
- Endpoint not publicly accessible
- Firewall blocking requests
- Invalid URL format
- Webhook not active
- Verify URL is accessible from internet
- Check firewall rules
- Ensure URL includes https://
- Verify webhook is active in dashboard
Signature verification fails
Signature verification fails
Possible causes:
- Wrong secret used
- Payload body modified
- Encoding issues
- Rotate and update secret
- Use raw request body
- Verify JSON stringification
Duplicate webhooks received
Duplicate webhooks received
Solutions:
- Implement idempotency using webhook ID
- Check for processed flag in your database
- Use unique constraint on webhook ID
High latency responses
High latency responses
Solutions:
- Process webhooks asynchronously
- Use message queue (RabbitMQ, SQS)
- Return 202 Accepted for long processing
API Reference
Related Products
Payment Links
Payment event notifications
Auto Settlement
Settlement event notifications
Master Wallets
Wallet event notifications
Next Steps
- Set up your webhook endpoint in API Reference
- Register your webhook with XentFi
- Monitor webhook deliveries in dashboard

