← Blog
v0.4.0-beta · exchange infrastructure to build on
2026-07-07
A market that never sleeps: the live demo runs a simulated market 24/7

The live demo is now a market: simulated traders, real order books, open 24/7

Beta shipped two days ago. Since then we've been putting the stack in front of the hardest audience we could find: the public internet, around the clock.

The result is live now at trade.openexchange.dev. Sign up with a username and a password, get funded demo balances, and trade five crypto markets against a simulated crowd that never sleeps. Every order you place goes through the real system: the same OMS risk checks, the same Raft-replicated matching engine, the same market data pipeline you get when you clone the repos.

The live desk mid-session: BTC-USD five percent down on the day in a simulated dump, signed in as a demo user with two resting orders working. An unretouched capture; click to view it full size.

A market that behaves like one

An empty exchange is a boring demo, and a demo that fakes its numbers teaches you nothing. So instead of scripting a pretty tape, we wrote a market simulator.

Fifty bot traders (ten per market) run against the public API exactly like any other client. Market makers keep both sides of the book quoted twenty levels deep, takers cross the spread and chase trends, and everyone places, cancels, and gets filled through the same frozen v1 REST API you would integrate against. Nothing is injected behind the scenes; if the bots can't trade, the book goes quiet, and we get paged.

Price direction comes from live crypto markets: the simulator streams real market returns and applies them to each demo market's own anchor price, with a random-walk fallback when the feed is unreachable. Most of the time the tape is calm. Every few minutes a pump or a dump rolls through, the book thins out, the takers pile in, and you can watch the spread do what spreads do.

Sign in, you're funded

Registration is a username and a password, nothing else. The moment your account exists it holds demo balances: 100,000 USD, 1 BTC, 10 ETH, 100 SOL, 10,000 XRP, and 100,000 DOGE. Place limit or market orders, watch them rest, fill, or reject, and check every outcome in your history.

It's play money. Nothing on the demo touches real funds, and nothing should (more on that below).

A trading screen rebuilt around the trader

The reference UI got a full overhaul this week. The layout is now the classic trader's desk: order book on the left, chart and your orders in the middle, order entry and the live tape on the right. The full book, twenty levels per side, is always on screen with no scrolling. The chart holds steady when you switch tabs or markets instead of flashing empty.

The order form knows each market's tick size and price band, snaps your price to the tick, and tells you loudly when the engine rejects an order instead of letting it silently vanish. The tape is colored by which side was the aggressor on each trade. And the whole thing got a sharper visual identity in both dark and light themes.

The same desk in the light theme, seconds later in the same session.

What else shipped since beta

  • Market data survives restarts. Trades and candles now persist in TimescaleDB. Restart the market gateway and the chart comes back exactly as it was, including across a full-cluster outage. The rolling 24-hour stats are computed from the database, not from whatever happened to be in memory.
  • The order book heals itself. Every book snapshot and delta now carries a monotonic version, chained end to end from the engine to your browser. If the UI ever detects a gap in the chain, it re-synchronizes automatically instead of quietly drawing a stale book.
  • The ops plane got guardrails. Risky operations like rolling updates are now gated behind pre-flight checks (memory, quorum, disk, artifacts), the admin console streams live activity over server-sent events, and the first milestone of our multi-host agent architecture is running in production.

The simulator is also our watchdog

The same bot crowd doubles as a canary. One bot continuously proves the full loop: order in, acknowledged, cancelled, confirmed, plus a browser-style CORS probe against the public edge. All of it feeds a single health gauge with an alert on it. If the demo breaks, we know within about thirty seconds, whether or not anyone is watching the site.

Running realistic load around the clock is also a permanent, public stress test, and it works. Within hours of turning the simulator on, it found two real bugs in the OMS: the user WebSocket accepted exactly one connection per process lifetime, and a thread-safety bug could corrupt an internal index and silently take down the entire REST API. Both are fixed, shipped, and covered by regression tests. It keeps finding smaller ones. That's the point.

What the demo is, and isn't

The demo is the real v0.3.0-beta stack: real matching, real risk checks, real double-entry accounting, running as one cluster on real hardware. It is not a price feed (the demo markets follow real market movement but keep their own prices), the liquidity is simulated, and the balances are demo money. And the stack itself is still beta: no external security audit has happened yet, so nothing here should hold real funds. That line stays in every post until it stops being true.

Try it

Open trade.openexchange.dev, register, and trade. If something feels wrong, slow, or confusing, tell us; the demo exists so problems surface here first. And if you'd rather run all of this yourself, the quick start takes you from a fresh clone to your own running exchange, simulator included, in a few minutes.

Measured on a single Intel 13700K running a 3-node Aeron Raft cluster with external media drivers, pinned cores, and OS tuning, in local development.
Open Exchange

The open-source core to launch your own exchange. Fast, fault-tolerant, built in public.

v0.4.0-beta

Apache 2.0 · Beta software: the public API is frozen, but it has not had an external security audit yet and should not hold production money until it does. Open Exchange is the infrastructure you build an exchange on; KYC/AML, custody, fiat, identity, and compliance are the integrator’s responsibility.