How Randomness Works on SpinTheWheels
Each result is chosen by a cryptographically secure random generator before the wheel moves, and every spin comes with a proof you can verify yourself below.
Step by step
- Commit. Before a spin, your browser creates a 96-byte random seed and shows its SHA-256 hash (“Next spin commitment” in Settings).
- Pick. When you spin, 48 bits of the seed become a number u between 0 and 1. The winner is the entry whose share of the total weight contains u × total. For several winners, each uses the next 48-bit slice, without replacement.
- Animate. The wheel turns and stops on the winning slice. Slices are drawn exactly in proportion to their chance.
- Reveal. The result window shows the seed. Anyone can hash it and recompute the winner.
Verify a spin
Run a 10,000-spin fairness test
This runs 10,000 picks on six equal entries in your browser. Each should be close to 1,667 (16.7%).
Why this matters
Ordinary generators are fine for games but cannot be audited. A commit-reveal proof means we cannot change a result after you press spin without the hash revealing it. Read more in Can a spin the wheel be rigged?
Frequently asked questions
Do you use Math.random()?
No. We use the Web Crypto API (crypto.getRandomValues), which browsers also use for encryption keys.
Does the animation affect the result?
No. The result is calculated first; the animation simply stops on it. Flicking the wheel only changes how long it spins.
Written and tested by Musa Tariq · Editorial Team · Last updated