Skip to main content
Preview Documentation — This integration is in final testing. API shapes are stable; endpoints will be live shortly. Contact your RebelFi rep if you have questions before go-live.
RebelFi sends webhook events to the endpoint URL configured in your dashboard Settings. Register your endpoint before going live.

Payload Envelope

All webhook events share this common structure:
{
  "event": "customer.approved",
  "timestamp": "2026-03-15T12:00:00Z",
  "data": { ... }
}
FieldTypeDescription
eventstringEvent type identifier
timestampstringISO 8601 timestamp of when the event occurred
dataobjectEvent-specific payload

Events

customer.approved

Fired when a merchant’s KYB verification passes and their bank account is ready.
{
  "event": "customer.approved",
  "timestamp": "2026-03-15T12:00:00Z",
  "data": {
    "customer_id": 1,
    "name": "OnEdge",
    "bank_account": {
      "account_number": "12345678",
      "routing_number": "987654321",
      "bank_name": "Lead Bank",
      "capabilities": ["ach", "fedwire"]
    }
  }
}

customer.declined

Fired when a merchant’s KYB verification fails.
{
  "event": "customer.declined",
  "timestamp": "2026-03-15T12:00:00Z",
  "data": {
    "customer_id": 1,
    "name": "OnEdge"
  }
}

transaction.completed

Fired when a USD deposit has been converted to USDC and delivered to your wallet.
{
  "event": "transaction.completed",
  "timestamp": "2026-03-20T14:35:00Z",
  "data": {
    "transaction_id": 1,
    "customer_id": 1,
    "usd_amount": "50000",
    "total_fee": "125",
    "developer_fee": "25",
    "usdc_delivered": "49875"
  }
}

transaction.failed

Fired when a transaction encounters an error during conversion.
{
  "event": "transaction.failed",
  "timestamp": "2026-03-20T14:35:00Z",
  "data": {
    "transaction_id": 1,
    "customer_id": 1,
    "usd_amount": "50000",
    "error": "rejected"
  }
}

Best Practices

  • Respond with HTTP 200 immediately — process the event asynchronously. RebelFi expects a quick acknowledgment.
  • Check the event field 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 data fields to deduplicate.