Payload Envelope
All webhook events share this common structure:| Field | Type | Description |
|---|---|---|
event | string | Event type identifier |
timestamp | string | ISO 8601 timestamp of when the event occurred |
data | object | Event-specific payload |
Events
customer.approved
Fired when a recipient’s KYB verification passes. The recipient is now eligible for on-ramp and off-ramp accounts.
Ramp accounts are not auto-created on approval. After receiving this event, use the API to create on-ramp and/or off-ramp accounts for the recipient.
customer.declined
Fired when a recipient’s KYB verification fails.
transaction.completed
Fired when an on-ramp USD deposit has been converted to USDC/USDT and delivered to the designated wallet.
transaction.failed
Fired when an on-ramp transaction encounters an error during conversion.
offramp_transaction.completed
Fired when an off-ramp transaction has been converted and USD delivered to the bank account.
offramp_transaction.failed
Fired when an off-ramp transaction encounters an error.
Best Practices
- Respond with HTTP 200 immediately — process the event asynchronously. RebelFi expects a quick acknowledgment.
- Check the
eventfield before acting on the payload. Your endpoint will receive all event types. - Log raw payloads for reconciliation and debugging.
- Handle duplicates — in rare cases, the same event may be delivered more than once. Use the
datafields to deduplicate.