
Exactly‑Once Wallet Credit Processing in an Unreliable Distributed Environment
This is the second part of the interview, conducted with the real interviewer. We will be answering this question — can we get it right on the first attempt?
You are responsible for the player wallet credit flow. External partners may resend the same request multiple times, messages can arrive late, or be delivered more than once. You must design the API and internal processing so that balance updates are applied once and only once, fully auditable, and recoverable after failures—without relying on distributed transactions. How would you design this system?
Check part 1 here




