Idempotency
All financial write operations require idempotency protection.
Components
| Component | Description |
|---|---|
| Idempotency-Key | Client-provided unique key (UUID) |
| Request Hash | SHA-256 of request body |
| Idempotency Record | Stored mapping of key → response |
| Original Response | Cached response for duplicate requests |
| Request Status | IN_PROGRESS, COMPLETED, FAILED |
Flow
Concurrent Duplicates
Database unique constraint on idempotency_key prevents race conditions. Second request waits or receives IN_PROGRESS status.