Documentation Index
Fetch the complete documentation index at: https://knowledge.bitbybit.studio/llms.txt
Use this file to discover all available pages before exploring further.
Respond Quickly
Return a 2xx status code as fast as possible (ideally within 1-2 seconds). Process the event payload asynchronously — for example, by adding it to a message queue.Always Verify Signatures
Never trust a webhook payload without verifying the signature. See the Security guide for implementation examples in Node.js, Python, and Go.Handle Duplicates
In rare cases, the same event may be delivered more than once (e.g., due to network issues or retries). Use theX-BitByBit-Webhook-Id header to deduplicate:
Use HTTPS
Webhook endpoint URLs must use HTTPS. This ensures the payload is encrypted in transit and prevents man-in-the-middle attacks.Handle Retries Gracefully
If your endpoint is temporarily unavailable, bitbybit will retry with exponential backoff. Make sure your processing logic is idempotent — processing the same event twice should produce the same result.Monitor Your Endpoints
Check the Delivery History in Settings > Developer to monitor webhook health. Watch for:- High failure rates (check server logs)
- Slow response times (optimize your handler)
- Suspended endpoints (reactivate after fixing the issue)
Prevent Timeouts
bitbybit will wait up to 30 seconds for a response. If your handler needs more time:- Acknowledge the webhook immediately with a
200response - Process the event in a background job or queue
- Track processing status separately
Test Before Going Live
Use the Send Test button in webhook settings to verify your endpoint is correctly:- Receiving the POST request
- Parsing the JSON payload
- Verifying the signature
- Returning a 2xx response
Firewall Configuration
If your server has a firewall, ensure it allows incoming POST requests from bitbybit’s servers. TheUser-Agent header is always BitByBit-Webhooks/1.0.
