How Bank Transfers Work
Tap Pay in a banking app and the money seems to move instantly. Under the hood, it's an event-driven pipeline of idempotency checks, ledger reservations, reconciliation workers, and real-time notifications.

Ever wondered what actually happens when you hit Pay on your banking app and your friend receives the money almost instantly? To the user, it feels like magic. But as engineers, we know there is no magic, only careful state management, reliable infrastructure, and good system design.
If you're a fresher or junior engineer trying to understand how real-world fintech systems are built, this is one of the best problems to study. Let's look under the hood of a modern bank payment pipeline.
The Problem: It's Not Just `balance = balance - amount`
1. The API Gateway
2. The Core Ledger
3. The Smart Router
UPI / IMPS for fast, low-to-medium value transfers
NEFT for scheduled or batch-friendly transfers
RTGS for high-value transfers with stricter rules
The router evaluates factors like amount, transfer type, timing, and regulatory rules, then picks the correct rail adapter. That adapter knows how to speak to the external payment network.
4. Handling Network Chaos
5. Background Workers and Reconciliation
These workers are often driven by queues like RabbitMQ, Kafka, SQS, or even scheduled jobs depending on the system's scale and reliability needs.
6. Real-Time Notifications
The payment core or worker publishes a
TransferSettledevent to Kafka or SQSA separate Notification Service consumes that event
That service pushes a real-time update through WebSockets, FCM, or APNs
The user's screen flips to Payment Successful almost instantly
The Big Picture: The Journey of ₹500
Why This Design Works
Conclusion
FAQ
Why do bank transfer systems use idempotency keys?
Idempotency keys prevent duplicate transfers when the same payment request is sent more than once due to retries, lag, or repeated user taps. The backend stores the key and returns the previous result instead of processing a second transfer.
Why reserve money before settling a transfer?
Reservation protects the system from losing money during partial failures. The amount is locked first, and only converted into a final settled transfer after the receiving side confirms success. If the transfer fails, the reservation can be released safely.
What does reconciliation mean in a payment system?
Reconciliation is the process of checking pending transactions against external payment rails or banks to determine their final status. Background workers use it to resolve transfers that were left in pending or uncertain states due to timeouts or delayed responses.