Idempotency isn't optional in fintech systems
Why every money-moving endpoint needs an idempotency key—and what breaks when you skip it.
In fintech, the same request can arrive twice: network retries, user double-clicks, webhook replays. Without idempotency, you charge twice, settle twice, or credit twice.
The fix is straightforward: accept an idempotency key on every state-changing endpoint. Store the key with the result. On duplicate, return the stored result—don't re-execute.
This isn't edge-case handling. It's the baseline contract for any API that moves money. Design it in from day one; retrofitting is painful and error-prone.