Design a wallet system like Paytm
PremiumMachine codingMedium
- Double entry ledger
- Idempotency keys
- Lock ordering
Quick answer
This machine coding interview question asks you to design a wallet system like Paytm. Aim for a design that meets its requirements at the stated scale, then explain its main components, data flow and trade-offs. Interviewers want to see how you scope the problem, size it and defend each choice.
The problem
Build a wallet system like Paytm, the prepaid balance people use to pay friends and shops from their phone. Users top up money, send it to others, pay merchants and see a statement. The hard parts are balances that are never wrong, safe retries and transfers that cannot deadlock.
All money moves through a ledger: every transaction posts matching debit and credit entries, so any balance can be rebuilt from its entries.
What must a wallet system like Paytm do?
- Transfer: transfer(from, to, amountPaise, requestId) moves money atomically or fails with INSUFFICIENT_BALANCE, LIMIT_EXCEEDED, SAME_WALLET or WALLET_BLOCKED.
- Idempotency: A repeated requestId returns the first result, and a repeated top-up gatewayRef credits only once.
How well must it do it?
- Never wrong: Balances never go negative, and each transaction posts entries that sum to zero, using a system account for money from outside.
- Safe concurrency: 1,000 concurrent transfers among a few wallets keep balances exact and never deadlock.
What scale should you design for?
Use these numbers in your estimates.
The scale numbers unlock with this questionUnlock
Key concepts
- Double entry ledger
- Idempotency keys
- Lock ordering
- KYC limits
- Money in minor units
- Transaction history
How you’ll practise
- Requirements
- Entities and interfaces
- Core implementation
- Edge cases and tests
- Extensions
- Wrap-up
Lala, personalized to you, gives a hint when you ask and reviews your design when you are ready.
What do interviewers look for?
In any machine coding design round.
- Clarifies the requirements before drawing anything
- Uses a few numbers that actually change the design
- Draws a clear path from the client to storage
- Picks storage and caching with reasons, not by habit
- Explains what breaks first under load and how to fix it
- States trade-offs openly instead of claiming a perfect design
Questions people ask about this interview question
- Which design type is this question?
- It is a machine coding question. You design a wallet system like Paytm and explain your choices the way you would in an interview.
- Is this question asked at entry level?
- It is marked Medium. Entry-level engineers can practise it, but it expects you to reason about requirements and trade-offs, not only list components.
- What should I cover first?
- Start with the requirements: what the system must do, how well it must do it and which numbers change the design. Agree on scope with the interviewer before you design anything.
- Can I practise it for free?
- It is a premium question. Sign up and unlock it once for 10 credits; it then stays unlocked. When you finish, Lala, your personalized AI mentor, can review your design for 30 credits.
Related questions
Updated · Written by the SevyDevy team