Fintech
The Architectural Challenges of Real-Time, Multi-Currency Accounting
Engineering double-entry ledgers across dozens of currencies, balancing ACID constraints against eventual consistency, and preventing database lock contention.
4 October 2026 · 11 min read
A ledger is the source of truth for a payments business. In one currency at modest volume it is a solved problem. Across dozens of currencies, in real time, it becomes one of the hardest engineering problems in the stack.
Double-entry across currencies
Every movement must balance, but an FX conversion touches multiple currency positions, rates and fee accounts at once. The model must represent these as atomic, balanced entries, never as adjustments patched in afterwards.
ACID versus eventual consistency
Strict ACID guarantees keep balances correct but limit throughput. Eventual consistency scales but risks spending money that is not there. The answer is usually hybrid: strong consistency for balance-affecting writes, asynchronous projections for reporting.
Lock contention on hot accounts
Pooled, fee and settlement accounts receive a share of almost every transaction and become contention hotspots. Sharded sub-accounts, batched postings and append-only designs keep throughput high without compromising correctness.