Skip to main content
Use this page to quickly see which events Blaaiz emits and what every webhook payload contains.

Event types

Your business has two webhook URLs: collection_url and payout_url. The table below shows every event and which URL it is delivered to.
Payout and crypto payout events use your payout_url. Crypto deposit events and all other events use your collection_url.

Payload structure

Fiat and collection webhook payloads include:
  • event — The event type
  • data — The event data object
  • timestamp — When the event occurred
  • signature — HMAC signature for verification (header: x-blaaiz-signature)
Always verify the x-blaaiz-signature using your webhook signing_secret to ensure the webhook originates from Blaaiz.

Crypto payout payload

Crypto payout webhooks use a flat JSON object. They do not use the data wrapper from other webhook events.
The crypto.payout.failed event includes failure_reason. Blaaiz sends this event only for a final failed state.

Crypto deposit payload

Crypto deposit webhooks use the same flat JSON structure. Blaaiz sends the event after it credits the business crypto wallet.

Webhook retries

A webhook can be delivered more than once. Use event_id to process each event once in your system. Return a 2xx response when you accept a webhook. Blaaiz can retry a delivery that does not receive a 2xx response. Use the webhook log endpoints to inspect delivery status. You can replay an eligible failed delivery.
⚙️ Best practices
  • Reply with a 2xx promptly and process work asynchronously if needed.
  • Implement idempotency using the event_id so duplicate deliveries don’t double-process work.
  • Return non-2xx only when you truly want a retry.

Data retention

Webhook logs (payloads, responses, attempt history) are retained for 90 days. After 90 days, records are pruned for both successful and failed deliveries.
  • If you need webhook data beyond 90 days, store it in your own systems.
  • Replay is only available for webhooks within the 90-day window.