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

  1. Commit. Before a spin, your browser creates a 96-byte random seed and shows its SHA-256 hash (“Next spin commitment” in Settings).
  2. 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.
  3. Animate. The wheel turns and stops on the winning slice. Slices are drawn exactly in proportion to their chance.
  4. 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 · Editorial Team · Last updated