Design a Crypto Trader Chat

Medium45 min
1 / 31
System design answer

Design a Crypto Trader Chat

Medium45 min31 sections
understanding•9 min read

Problem Statement: A Volatility-Driven Real-Time Trading Community

Frames the product as four coupled planes — chat, market data, trading, trust-and-safety — where volatility, not steady state, sets every capacity bar.

Problem statement

Design a chat platform where cryptocurrency traders discuss markets in real time. Each top asset gets a public channel, users post messages and react to live prices, tickers from multiple exchanges stream beside the conversation, verified analysts post with badges, moderators keep rooms safe, and — because the product sits next to an exchange — a message can deep-link into a prefilled order ticket.

This is not a generic chat clone. Three properties make it distinctive. First, the workload is volatility-coupled: a 10% BTC move or an ETF headline can multiply message volume, connection count, and ticker subscriptions within minutes, and the system must absorb that without losing messages or orders. Second, the read path is dominated by broadcast: one message in the BTC room must reach hundreds of thousands of concurrent readers, which inverts the fan-out economics of a private-messaging system. Third, money is adjacent: price data correctness, scam prevention, and order-safety are trust requirements, not features.

The four planes

  1. Chat plane: durable per-channel message timeline, WebSocket delivery, presence, unread state, reactions.
  2. Market data plane: ingestion from multiple exchange feeds, normalization, consensus price computation, and 1 Hz broadcast of tickers.
  3. Trading plane: order deep-links from chat, KYC gating, idempotent order submission, risk confirmations.
  4. Trust-and-safety plane: link scanning, scam and impersonation detection, moderation queues, enforcement ladder, audit.

A strong answer keeps the planes decoupled: a market-data ingestion stall must freeze tickers, not chat; a moderation classifier outage must degrade to inline-safe-mode, not block delivery; and a chat surge must never starve order acknowledgements.

Public operating baseline

Public evidence shows the category is real and large. Binance disclosed more than 200 million registered users in late 2023 and documents WebSocket market-data streams that update as fast as every 100 milliseconds. Telegram, a primary venue for crypto communities, reported roughly 950 million monthly active users in 2024 and scales channels to unlimited subscribers using pure broadcast. Discord, the de facto home of many trading communities, publicly describes message storage partitioned by channel and bucket in ScyllaDB and presence services built to hold millions of concurrent connections. These are cited context figures; every capacity target below is an explicitly stated design assumption.

For this interview we assume a mature product: 5 million MAU, 800 thousand DAU, 250 thousand concurrent WebSocket connections at peak, 32 million messages per day average, and a volatility multiplier of up to 10x on message rate in affected coin rooms. Unless a number is tied to a citation, it is a stated assumption.

What makes this hard

The five genuinely hard problems are: multi-exchange feed merging under clock skew and out-of-order delivery; broadcast fan-out to mega-channels during volatility spikes; WebSocket gateway state at hundreds of thousands of connections with zero-downtime drain; crypto-specific abuse at wire speed (phishing links, impersonation of exchange staff, pump-and-dump coordination); and safe trading integration where a chat action must never become an accidental or replayed order. The rest of the interview is a systematic walk through these.

Key Highlights

  • •Volatility, not daily average, sets every capacity bar: assume 10x message surge in affected coin rooms.
  • •The read path is broadcast-dominated: one BTC-room message fans out to 250K concurrent readers.
  • •Four decoupled planes: chat, market data, trading, trust-and-safety — each with its own failure mode.
  • •Assumed scale: 5M MAU, 800K DAU, 250K peak connections, 32M messages/day average.
  • •Money adjacency makes price correctness, scam prevention, and order idempotency trust requirements.
Lead With the Volatility Coupling
State in the first two minutes that price volatility drives chat load. This instantly separates a crypto chat design from a generic messenger clone and frames every later capacity decision.
Do Not Draw One Monolithic WebSocket Box
A single server that does chat, tickers, and orders fails at 250K connections and couples failure domains. Separate gateway, fan-out, market data, and trading paths from the first diagram.

Section Rescue Kit

Buzzwords to use:

Volatility-Coupled LoadBroadcast-Dominated Read Path

Safe statements:

  • "I will separate chat delivery from market data and trading so each plane can degrade independently."
  • "Before choosing databases, let me state which decisions depend on volatility peaks rather than averages."
Design a Crypto Trader Chat - System Design | WinJob | WinJob