Design Problems/Digital Wallet

Digital Wallet

Hard
TransactionsACIDEvent SourcingDistributed Transactions

High-Level Architecture

Rendering diagram...

Design a digital wallet system that handles money transfers between users with absolute correctness. Money must never be created or destroyed by the system — every cent must be accounted for. The system must support deposits from bank accounts, peer-to-peer transfers, merchant payments, and withdrawals, all with a complete audit trail.