When your platform moves money, you need to know exactly what's happening and when. Webhooks and audit trails are the backbone of real-time financial visibility.
What to emit on every event
- Transaction type (card authorization, account transfer, payout, wallet transfer)
- Amount, currency, and status
- Customer and account identifiers
- Timestamp and idempotency key
- Related metadata (merchant details, dispute status, KYB updates)
Why webhooks over polling
- Instant notifications when transactions occur
- Lower infrastructure cost than continuous polling
- Reliable delivery with automatic retries and replay
- Decouple your systems from Ledger's API rate limits
Common webhook use cases
- Fraud alerting: flag unusual transaction patterns in real time
- Balance updates: keep your UI and internal systems in sync
- Compliance workflows: trigger reviews when thresholds are crossed
- Customer notifications: send emails or push notifications on activity
- Accounting sync: push transactions to your ledger or ERP automatically
The audit trail
Every action in Ledger produces an immutable, timestamped log entry. Audit trails are queryable by customer, account, card, or transaction — so you can answer "what happened?" in seconds during investigations or compliance reviews.
Best practices
- Verify webhook signatures to prevent spoofing
- Process events idempotently (use the event ID to deduplicate)
- Store raw webhook payloads for debugging and replay
- Set up dead-letter queues for failed deliveries
Webhooks and audit trails give you the visibility to operate a financial platform with confidence.