Design a distributed trade management system that handles equity orders from Robinhood’s mobile/web clients all the way to the executing exchanges and back. The system must accept orders from millions of concurrent users, route them to the appropriate exchange (NYSE, NASDAQ, etc.), track every state change of each order with exactly-once semantics, and stream real-time executions back to users. Orders follow a strict state machine: NEW → VALIDATED → SUBMITTED → ACKNOWLEDGED → PARTIAL_FILL → FILLED (or CANCELLED/REJECTED). Partial fills are common; an order for 1 000 shares may arrive as multiple executions (e.g. 300, 400, 300) with different prices. The service must guarantee idempotent submissions even when clients or gateways retry after network failures, survive zone-level outages with <5 min RTO, and support end-of-day reconciliation that matches every internal fill against the exchange’s official clearing file. Latency from client “Place Order” to exchange gateway must be <10 ms p99, and users must see executions within 100 ms of market occurrence. Finally, expose a gRPC/HTTP API and a streaming WebSocket channel for order status and market data.