The situation
A casino & sportsbook operator wanted to grow its in-play offering — live odds that move with the game, cash-out mid-event, markets that open and close in seconds. Its incumbent platform was built for pre-match betting: odds updated on a polling cycle, settlement ran in batches, and traders managed risk from spreadsheets refreshed by hand. Every top fixture was a stress test the platform barely passed.
The problem underneath the problem
In-play betting is not a faster version of pre-match betting — it is a different discipline. Odds are a live price; open bets are open positions; a stale feed is unpriced exposure. The operator's real problem was that its systems had no concept of a position. The diagnosis reframed the build: not a faster sportsbook, but a trading floor with a sportsbook attached.
What we built
An event-driven engine where every market is a book and every bet a fill. Odds move on market events, not timers; settlement is computed the moment an outcome resolves; and the trading desk watches live exposure per market, per event and per customer segment, with automated limits that pause a market before risk runs — and trader overrides for judgment calls the rules can't make.
The hard part
Peak load is not average load. A top event compresses a day's traffic into stoppage time, and the one moment the system must not fail is the moment everyone is using it. The engine was load-tested against multiples of the operator's biggest recorded event before each milestone was accepted — and the settlement path was kept deliberately boring: no clever caching between a resolved outcome and a customer's balance.
Results that held
The live book now runs through peak fixtures without incident, bet-to-settlement stays under 300 milliseconds at load, and the trading desk manages risk from dashboards instead of spreadsheets. Responsible-gaming controls and a complete audit trail were part of milestone one, not a compliance retrofit. The engagement continues as a dedicated team extending the engine to new market types.