Design a Digital Wallet Ledger
HardSystem design · Payments · Coinbase · Stripe
Design the ledger behind a digital wallet with ~50M wallets: users top up, hold balances, and transfer money to other users, with peaks of ~20K postings/s. Use immutable double-entry records, make transfers atomic and idempotent (including across shards), serve fast balance reads, and support reconciliation against external providers and dispute handling. Out of scope: card issuing, KYC, and FX.
Requirements
- Use double-entry or immutable ledger records
- Make transfers idempotent and atomic
- Support reconciliation, dispute handling, and balance reads