How the draw is simulated
The number is not drawn at random. A ball is launched into a calculated wheel, it hits the deflectors, rattles across the frets and comes to rest somewhere — and that is the pocket that gets called.
What happens on every spin
Most online roulettes draw a number between 0 and 36, then build an animation that arrives at it. Here it is the other way round. The program launches a ball and integrates its motion 240 times a second, in metres and seconds, on a 32-inch wheel:
| Part | Value |
|---|---|
| Radius of the ball track | 300 mm |
| Ring of the 8 deflectors | 245 mm |
| Outer edge of the pockets | 200 mm |
| Central cone | 115 mm |
| Height of the frets | 10 mm |
| Camber of the track | 16 to 20° |
| Ball speed at release | 4.55 to 5.50 m/s |
| Speed of the wheel | 0.42 to 0.70 rev/s |
The ball first runs against the wall, held there by its own speed. It slows, eventually fails to hold the track and falls inwards. There it may strike a deflector, bounce off the plate, cross several frets, ride up the central cone and set off again. It stops when it no longer has the energy to clear a fret. The number announced is the pocket it rests in — not a draw, a reading.
Where the randomness is
The randomness is in the launch, not in the outcome: the direction of the wheel, its speed, its starting angle, the position and speed of the ball, the camber of the track. Once those conditions are drawn, the rest is arithmetic, and the same launch always gives the same pocket.
What guarantees fairness is one of those values alone: the starting angle of the wheel is uniform over a full turn, and independent of everything else. The ball may well fall at the same place on the track every time; the pocket that happens to be underneath it at that moment is uniformly distributed — and so is the result. It is exactly the argument that holds for a real wheel: it is not the ball that has to be unpredictable, it is where the wheel has got to when the ball drops.
What is checked
Every time the tests run, 20,000 spins are played and measured:
- a chi-squared test over the 37 numbers, at 36 degrees of freedom: the statistic has to stay well clear of the threshold that would signal a favoured pocket;
- the same test on the point of release, the one that guarantees the uniformity of everything after it;
- the frequency of red and of the zero, against 18/37 and 1/37 to within four standard deviations;
- the scatter after release: at least six pockets are needed to gather half the spins, or the result would become guessable the moment the ball leaves the track;
- and that the ball always ends motionless, at the bottom of a pocket, without ever leaving the bowl or slipping under the plate.
None of these tests makes the game favourable to the player: the 2.70 % edge comes from the payout table, not from the draw. They only guarantee that the wheel does not cheat — in either direction.
Several players, one ball
A full trajectory weighs about 160 kB. Sending it to every player on every spin would be absurd, and letting each of them draw their own would give different numbers around the same table.
So the server draws a four-byte seed and sends it to everyone. Each browser then replays the same ball, to the millimetre, because the calculation is deterministic. Nobody picks the number, not even the player who launches it: the seed leaves the server before anyone has seen anything, and it cannot be drawn again.
The detail that matters: the server's generator, like the browser's when you play alone, is the platform's cryptographic one. The seed only exists to replay a launch that has already been drawn.
Measuring the audience
One thing does leave the page: the visit counter. It runs on Umami, hosted on this site's own servers rather than a third party's. It sets no cookie, records no personal data — the IP address is anonymised, there is no browser fingerprinting — and it follows nobody from one site to the next. It counts page views, the language, the kind of device, and a few gestures of the game: a language chosen, an article opened, a shared table created, a game finished. Never a number drawn, never a bet, never a balance. A browser that asks not to be followed is not followed.
What the table does not do
No money, no account, no password. The chips are play money and cannot be bought. The balance, the statistics and the history of your games stay in the browser and never leave it. At a shared table what travels is the name you chose, the bets you declared — that is what puts other people's chips on the layout — and the result of each spin. The balance never leaves the device, and the table disappears when everyone has gone.