Why I write about money movement
Most software can afford to lose a request. Money can't. That single constraint is why these systems are worth writing about.
keep reading →every entry, twice.
A software architect writing about the systems that move money.
I build and think about payments, ledgers, and real-time rails — and the correctness and trade-offs behind them. This is where I write it down.
Most software can afford to lose a request. Money can't. That single constraint is why these systems are worth writing about.
keep reading →The obvious way to store balances — a column you update — is the one that will eventually betray you. Here's why the accountants had it right.
An idempotency key turns a terrifying question — did that charge go through? — into a safe retry.
You can't deliver a message exactly once across a network. What you can do is process at-least-once and make duplicates harmless — which is the real job.
The big payments-messaging migration is mostly done. The format change was the easy part; what banks do with the richer data is the real story.