Olympus

Introduction

Olympus — a validium-style securities exchange with private execution and on-chain verifiability.

Olympus is a high-performance securities exchange built in Rust that implements a validium architecture: the matching engine executes privately at full speed while periodically anchoring cryptographic state commitments on-chain. On-chain batch roots provide an audit trail for regulators and participants.

The system combines a central limit order book (CLOB) matching engine with an embedded reth node for on-chain settlement and verifiability.

Key Features

  • Sub-microsecond matching — 208ns p50 order placement, 541ns with trade execution; deterministic engine on a dedicated thread, zero lock contention via ArcSwap snapshots
  • Crash recovery — RocksDB-backed tick log with periodic engine snapshots; restart replays from last checkpoint
  • On-chain verifiability — Settlement contract commits batch state roots and trade merkle roots to the EVM
  • On-chain audit commitments — batch trade roots committed on-chain via settlement contract for regulatory and institutional audit
  • WebSocket streaming — real-time order book and mid price data at 100ms via /ws
  • Trading frontend — React-based terminal UI with live order book, trade form, and balance monitoring
  • Lock-free API reads — ArcSwap publishes engine snapshots atomically; API handlers read without blocking the engine
  • Embedded EVM — reth-based block production with EIP-1559 transaction signing
  • Bridge — automatic minting and settlement of trades on the EVM layer
  • Sequencer — batched transaction ordering with 1ms flush intervals (configurable) and deterministic replay
  • EIP-712 authentication — cryptographic request signing for all trading operations

Architecture at a Glance

       PRIVATE (off-chain, hot path)              PUBLIC (on-chain, reth)
+---------------------------------------+   +---------------------------+
| API > Sequencer > CoreEngine          |   |                           |
|                      |                |   |  Settlement Contract:     |
|                +-----+------+         |   |    commitBatch(           |
|                |            |         |   |      stateRoot,           |
|           TickResult    Snapshot      |   |      tradesRoot)          |
|                |       (ArcSwap)      |   |                           |
|          +-----+------+    |         |   |  Events indexed by        |
|          |     |      |    v         |   |  Blockscout                |
|     RocksDB  Bridge  API reads  |   |                           |
|     (tick   (mint/              |   +---------------------------+
|      log)  unlock)              |
|          |     |                |
|          +-----+                |
|                v                     |
|       Settlement Service -----------------> commitBatch tx
+---------------------------------------+

Default Instrument

On startup, the system creates an AAPL-USD instrument with:

  • Tick size: 0.01
  • Lot size: 1
  • Max order size: 10,000

Ports

PortServiceDescription
3000APIREST API + WebSocket + Prometheus metrics (dev mode)
5173FrontendTrading UI dev server (proxies to 3000)
8545EVM RPCEthereum JSON-RPC endpoint
4000GrafanaMetrics dashboard
9090PrometheusMetrics collection

Next Steps

On this page