Instant Transfer Platform
Fund transfers across 130+ Indonesian banks, engineered for 10,000+ TPS.
Problem
Move money to recipient accounts across a fragmented banking landscape with strict reliability and latency expectations, while individual bank endpoints vary widely in availability and behavior.
Architecture
A stateless transfer orchestration service fronting per-bank adapters, backed by an idempotent transaction ledger. Asynchronous status reconciliation and retries decouple the client-facing path from slow or flaky downstream banks.
Technical challenges
Guaranteeing exactly-once semantics under retries, handling partial failures and ambiguous bank responses, and keeping tail latency predictable when a subset of banks degrade.
Solution
Idempotency keys on every transfer, a state machine per transaction, circuit breakers around bank adapters, and a reconciliation worker that resolves inflight transfers against bank statements of record.
Scale
Designed to scale to 10,000+ TPS across 130+ banks.
Lessons learned
Idempotency and reconciliation are not add-ons in payments — they are the core design. Modeling each integration as an independent failure domain kept the whole system resilient.
Want to talk through the engineering behind systems like this?
Start a conversation