How Fairness Works

Most spinner wheels pick the winner while the animation runs — or worse, slow the wheel down to land wherever looks good. FairSpin does it the other way around:

  1. The winner is chosen first. When you press SPIN, your device's cryptographic random number generator (crypto.getRandomValues — the same source browsers use for security keys) creates a random seed. That seed is then combined with the entry list and draw number and run through SHA-256 to derive the winning point on the wheel, weighted by your entry weights. This happens before a single frame of animation — and because the derivation is deterministic, anyone can re-run it later on the Verify page.
  2. The animation is built to land there. The wheel is then spun with 5–8 full rotations plus the exact offset needed so the pointer lands on the pre-chosen slice, with a small random nudge inside the slice so it never looks robotic. The animation is the reveal, not the decision.
  3. The draw is fingerprinted. Every spin publishes two values: a random seed (unique per spin) and the SHA-256 hash of the exact entry list (names + weights, in order). The hash commits to the entry list — the list cannot be altered after the fact without changing the hash.

Verify a draw yourself

Every draw is now fully re-runnable: open the Verify a draw page, paste the draw's seed and entry list (names and weights, one per line, in order — copy both straight from the History panel with the "Verify" button on any past draw), and the page re-executes the exact draw math step by step: entry-list fingerprint, seed, derived random value, winner. If the recomputed winner matches the announced winner, the draw was fixed before the animation ran. Combined with the published seed, this gives you a tamper-evident record: screenshot the winner dialog (name + seed + hash) as your proof.

What "fair" does and doesn't mean here

Fair means every unit of weight has an equal chance on every spin, draws are independent, and nothing — not the animation, not us — can steer the outcome after you press SPIN. It does not mean the wheel remembers history: in normal mode, a name that just won is exactly as likely to win again next spin. If you want no-repeat draws, turn on elimination mode, which removes each winner from the wheel.

Limitations, honestly stated

FairSpin runs on your device, so its randomness starts from your device's cryptographic RNG (excellent on all modern browsers and operating systems); the published seed then deterministically drives the draw, which is what makes independent re-runs possible. Verification proves the published seed and entry list produce the announced winner — it does not prove the host only spun once (publish the seed immediately, and draw live on camera, to close that gap). For legally binding lotteries or gambling, consult a licensed system — FairSpin is a decision helper, not a gambling device.