# Design an ATM banking network: system design interview question

> Cash delivery and account changes must agree despite repeated requests, lost responses, uncertain device evidence, and concurrent account use.

Source: https://sysround.com/questions/design-atm-banking-network
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design the backend that connects ATMs to bank accounts for withdrawals, deposits, and balance inquiries. Keep account balances and cash movements correct when a network or an ATM fails."

## What to clarify first

- Network and scale
- Read and write mix
- Latency
- Account authority
- Consistency and availability
- ATM capabilities and cash delivery
- Deposits
- Durability and retention
- Identity and device trust
- Bank contract and exclusions

## Scope of a strong answer

Core requirements:

- Return the available balance from the bank ledger
- Authorize withdrawals and reconcile cash delivery with account debits
- Authorize deposits before cash acceptance and credit validated, retained notes
- Recover uncertain operations after network failures and ATM restarts

Usually out of scope:

- Other banks and interbank settlement
- Card issuance and PIN cryptography
- Envelope deposits and checks
- Foreign currency exchange
- New cash operations without bank authorization

## What interviewers probe

### Account funds and repeated requests

Several ATMs and other account channels can spend the same funds. Lost responses also cause repeated requests.

### Cash delivery and operation recovery

A database transaction cannot include physical cash delivery. A failure can leave the bank unable to prove whether the customer took cash.

### Cash acceptance and account credit

An ATM can retain cash before the bank records a credit. Local records cannot replace bank approval or prove final cash custody.

## Common mistakes

- Candidates assume that a database transaction can include physical cash delivery.
- Candidates treat a timeout as proof that the ATM delivered no cash.
- Candidates release funds while a delayed cash command can still execute.
- Candidates prevent repeated API effects but repeat the physical cash action after a restart.
- Candidates accept deposit notes before bank approval or credit them before confirmed retention.
- Candidates omit balance inquiries from the audit trail or delete audit data without a verified archive.

## The bar by level

- **Senior:** Defines recovery across the backend, bank, and ATM. Handles lost responses, partial cash delivery, and deposits. Requires durable device cancellation before funds release. Defines deposit authorization and credit as separate steps. Defines audit retention and retrieval.
- **Staff+:** Defines bank contracts and the limits of device evidence. Resolves cancellation races and conflicting final results. Explains behavior during device damage and regional failure. Assigns ownership for reconciliation and customer disputes. Defines safe corrections and archive recovery.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=atm-network


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
