Randomness Proof
Is our wheel really fair? You don't have to take our word for it — test it yourself.
How Do We Guarantee Randomness?
Most websites use the browser's standard Math.random() function to generate random numbers. While this function is fast, it is not cryptographically secure — meaning it is theoretically predictable.
🔒 What Do We Use?
WheelSpinGo uses the crypto.getRandomValues() function. This is a cryptographically secure random number generator built into modern web browsers. It draws from high-entropy sources such as your operating system's hardware timers, mouse movements and keyboard delays.
❌ Math.random()
- • Pseudo-random
- • Predictable if the seed is known
- • Not suitable for cryptographic applications
- • Designed for operations that don't require security
✅ crypto.getRandomValues()
- • Cryptographically secure randomness
- • Uses hardware entropy sources
- • Mathematically impossible to predict
- • The standard used for banking and encryption
How Does It Work?
- When you spin the wheel, a 32-bit cryptographically random number is generated with
crypto.getRandomValues(). - This number is divided by the number of segments to determine a winner with equal probability.
- The physics simulation is also driven by this cryptographic value — the result is completely unpredictable.
10,000-Spin Simulation
Click the button below to run 10,000 spins in seconds. See for yourself how many times each segment wins and how even the distribution is.
Frequently Asked Questions
Can the same result come up twice in a row?
Yes! And this is completely normal. Just like a fair coin can land on "Heads" 3 times in a row, every spin is an independent event. Past results have no effect on the next result.
Are the results determined on the server side?
No. All randomness happens entirely in your browser. Our servers do not determine the winner — your browser's cryptographic module does.
Can someone manipulate the wheel?
crypto.getRandomValues() uses entropy at the operating system level. Predicting or manipulating these values in advance is equivalent to breaking any system protected by modern cryptography — it is practically impossible.
Does this simulation use the same algorithm as the real wheel?
Yes. The simulation above runs the exact same crypto.getRandomValues()-based function we use in the real wheel. The only difference is that the visual animation is skipped.