Skip to content

ONE QUESTION. YOUR REASONING.

Design a digital wallet

Design a digital wallet like Venmo where people move money between wallets, at a million transfers a second.

System designPayments and ledgersStaff

YOUR BRIEF

What to work through

Work through a digital wallet as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.

  • Transfer a balance from one wallet to another
  • See a wallet’s current balance
  • Rebuild any past balance by replaying history

BEFORE YOU START

Constraints to discuss

  • 1 million transfers a second
  • 99.99% availability
  • Transactional: money is never created or lost in a transfer
  • Reproducible: the full history can be replayed to check every balance
Need a starting point?

Watch for these common gaps as you prepare:

  • Assuming one database transaction can span every shard at 1 million transfers a second
  • Adding to B before taking from A
  • Keeping balances only in an in-memory store with no durable log
  • A state machine that calls out to other systems or uses randomness, so a replay gives a different answer
Read: System design questions and who asks them

KEEP GOING

Your next question

Storage, files and linksDesign BitlyInfrastructure and platformDesign a rate limiterInfrastructure and platformDesign an A/B testing platformInfrastructure and platformDesign an ad click aggregator
Browse the collection
01

Pick a question

Read the brief and choose what you want to work on.

02

Talk it through

Explain your thinking. Respond to follow-ups. Draw when a design needs it.

03

Find your next improvement

Use the feedback from your interview to decide what to practise next.