POST to your endpoint with the event payload.
Available events
Transfer events
Granular endpoint events
Account & compliance events
Set up a webhook endpoint
1
Create a public HTTPS endpoint
Your endpoint must:
- Accept
POSTrequests - Be reachable over the public internet via HTTPS
- Return a
2xxstatus code within 10 seconds to acknowledge receipt
2xx range — or no response within 10 seconds — is treated as a delivery failure and triggers the retry policy.2
Register your endpoint in the dashboard
- Log in to the Thiqwave Dashboard.
- Navigate to Settings → Webhooks.
- Click Add endpoint.
- Enter your endpoint URL.
- Select the events you want to receive (or choose All events).
- Click Save.
3
Verify webhook signatures
Every webhook request includes a
X-Thiqwave-Signature header. Verify this signature before processing the payload to ensure it came from Thiqwave and was not tampered with.The signature is an HMAC-SHA256 hex digest of the raw request body, computed using your webhook secret as the key.4
Process the event payload
After verifying the signature, parse the JSON body and handle the event based on the
event field:Respond with a
2xx status as quickly as possible. Move any slow processing (database writes, downstream API calls) to a background job to avoid timeouts.Retry policy
If your endpoint does not return a2xx response within 10 seconds, Thiqwave retries the delivery with exponential backoff:
After 3 failed retries, the delivery is marked as failed. You can view failed deliveries and manually replay them in the dashboard under Settings → Webhooks → Delivery logs.
Make your webhook handler idempotent. Because retries can deliver the same event more than once, use the
id field to deduplicate events before processing them.Testing webhooks
Use the Send test event button in the dashboard to fire a sample payload to your endpoint at any time. This lets you verify your handler logic without waiting for a real transaction. You can also replay any past delivery from Settings → Webhooks → Delivery logs, which is useful for debugging failed handlers.Next steps
- Settling with Stablecoins — track settlement progress with webhook events
- Receiving Payments — listen for
payin.completedto react when customers pay - KYB Verification — handle
compliance.approvedfor onboarding flows