Skip to main content

Event format

When an event occurs, Ledger sends a POST request to your webhook URL with:
{
  "id": "evt_...",
  "type": "transaction.created",
  "createdAt": "2025-06-15T09:22:11Z",
  "data": { ... }
}

Headers

Every delivery includes these headers:
HeaderDescription
X-Ledger-Event-IdUnique event identifier
X-Ledger-Event-TypeEvent type (e.g. transaction.created)
X-Ledger-SignatureHMAC signature for verification

Event types

EventDescription
customer.createdNew customer created
customer.updatedCustomer status or KYC changed
wallet.createdWallet provisioned
virtual_account.createdVirtual account opened
payout_account.createdPayout account added
card.createdCard issued
card.updatedCard status changed
transaction.createdNew transaction recorded
transaction.updatedTransaction status changed
dispute.createdDispute filed
dispute.updatedDispute status changed
webhook.testTest event sent manually

Retry policy

If your endpoint returns a non-2xx status code, Ledger retries with exponential backoff. You can view delivery history via GET /v1/webhooks/:id/deliveries.