A neon-lit roulette quant trading room with a strategy laptop and roulette wheel
// deterministic roulette laboratory

Think you found
an edge? Prove it.

A roulette simulator and strategy backtester for developers. Place a bet, automate a system, or write the strategy in Lua. Every run is seeded. Every result is reproducible.

−2.70% European house edge0x6d2b79f5 seeded RNG$0 real money
// one engine, three depths

Play it. Observe it. Program it.

Start with the table. Add instruments when you want them.

// the math bites

A dozen lines can feel unbeatable.

This is a working Martingale. It wins often, then concentrates the accumulated risk into one catastrophic sequence. Run it long enough and the shape becomes obvious.

See it across 20,000 seeded sessions
roulette-strategy.lua: Engineer mode
strategy = {}
local step = 0

function strategy.bet(ctx)
  return { { type = "black", amount = 5 * (2 ^ step) } }
end

function strategy.on_spin(ctx, result)
  step = result.net > 0 and 0 or step + 1
end
-- a working Martingale. feels unstoppable. watch it lose.
// does it work?

20 systems. Same spins. Same edge.

Every popular betting system, backtested on identical seeds, with the Lua that ran it.

All 20 systems, ranked
// no mysticism required

The edge is fixed. The path is not.

Betting systems cannot change a fair wheel's expected value. They can change volatility, drawdown, hit rate, and time to ruin. Those differences are worth measuring precisely. The single-spin math is on the odds pages: every bet, both wheels, exact.