The full requirements map
The complete functional surface of the exchange we're building — the checklist Part 1 will implement.
Lesson 0.1's four jobs. Each branch below hangs off one of them, plus a fifth: the machinery of trust (risk, surveillance, reference data).
Most "build an exchange" write-ups cover only the matching engine. That's perhaps a fifth of the system. Here is the whole map — skim it now, and return to it whenever you want to know where a lesson fits:
mindmap
root((Exchange))
Order intake
Accounts and onboarding
Sessions and connectivity
Order entry, cancel, modify
Pre-trade risk checks
Matching
Central limit order book
Price-time priority
Order types and time in force
Auctions open and close
Halts and circuit breakers
Market data
Top of book L1
Depth of book L2
Every event L3
Delayed and historical
Post-trade
Trade capture
Clearing and netting
Settlement T+1
Custody ledger
Trust
Surveillance
Audit trail
Reference data
Regulatory reporting
Two observations to carry forward. First, the branches have wildly different consistency needs: matching must be perfectly ordered and deterministic; surveillance can lag by minutes. Second, they have wildly different availability needs — a theme Part 3 turns into a design method: spend your reliability budget where an outage stops trading, not where it delays a report.
- The matching engine is the heart, but only ~20% of the system.
- Different branches need different consistency and availability — exploit that.