PPractick

System design interview question

Design a digital wallet with balance management

Hard · System design (HLD) · Company tags: PhonePe, Paytm, Dream11

The prompt

"Design a digital wallet. Users top up from a bank, hold a balance with us, pay merchants, and send money to each other. The balance must never go negative and must never be spent twice. 200 million users."

What this round really tests

concurrency control over a mutable, user-owned resource. Unlike a pure ledger (append-only, no constraint to check), a wallet has a hard invariant — balance ≥ 0 — that must be enforced under concurrent spends. The double-spend race is the heart of the question, and the candidate's answer reveals how well they understand isolation, locking, and optimistic concurrency.

Clarifying questions worth asking

Practise questions like this with a real engineer

On Practick another engineer interviews you live for 60 minutes on a question from this bank. They have the full interviewer guide beside the call: the answers to your clarifying questions, the numbers to hand out, a ladder of follow-ups and a scoring rubric. You get the model solution once the session settles. It is free: interview someone for an hour and you have earned your own.

Book a free mock interview

Related questions

All 132 system design interview questions

System design mock interviews · DSA interview questions · Free mock interview practice · Browse interviewers · Sign in