The Random Number Generator (RNG) Technology Behind the Wheel

Logo What is a Random Number Generator (RNG)?

Random Number Generation (using a random number generator (RNG)) is the process of producing a number that is unpredictable and has no discernible pattern. It's widely used in games, cryptography, lotteries, and decision-making tools to ensure outcomes are fair and unbiased. There are three main types:

  • Pseudo-Random Number Generators (PRNG): – These use algorithms to generate numbers that appear random but are based on a starting value (called a "seed"). Many PRNGs will use a function called Math.Random, however this is not secure and can be predicted with enough samples
  • Cryptographically Secure Pseudorandom Number Generators (CSPRNGS): – This is another form of "PRNG" which also uses a "seed", however, unlike a regular PRNG, it is design to be resistant to reverse engineering, un-predictable, uniform and suitable for cryptographic purposes. This is what randomwheelspin.com uses.
  • True Random Number Generators (TRNG): – These use physical processes (like atmospheric noise or radioactive decay) to generate truly unpredictable results but is normally (not always) for applications outside of a computer.

Random Wheel Spin uses a Cryptographically Secure Pseudorandom Number Generator (CSPRNG) to randomly pick winners. We use window.crypto.getRandomValues(). This method is part of the Web Crypto API, which provides access to a CSPRNG. It's the most secure RNG method available in JavaScript browsers today.

Logo Why Random Wheel Spin's Wheel is Considered Cryptographically Secure

  • It gathers entropy (a measure of unpredictability or randomness in a system) from hardware sources and the OS.
  • It doesn't rely on predictable seeds like Math.random() (which is not secure).
  • It meets the standards for randomness required by cryptographic protocols.

Logo How Does the Wheel Randomly Generate a Number or Name Using RNG?

Each spin is determined using a combination of three types of data:

  • "Server Seed" – Secretly generated using crypto.randomUUID() (randomly generated and cryptographically secure) and hashed before the spin, secretly stored and generated only once per session (reset after every spin).
  • "Client Seed" – Based on the exact time you click Spin and a unique UUID (created using crypto.randomUUID()). This is randomly generated in each session.
  • "Nonce" – A random number (used only once) for additional entropy. This is randomly generated in each session.

These three values — serverSeed, clientSeed and nonce — are concatenated and all hashed together using the SHA-256 algorithm (used by banks and government agencies). The resulting hash is then converted into a number, and that number determines what the final angle will be for the wheel of names and therefore which segment of the wheel is selected and ultimately the winner. The Server Seed, Client Seed and Nonce are all only used once, and rotated after every spin. Since SHA-256 is a one-way cryptographic function, it's impossible to reverse-engineer the original seed from the hash. This means the outcome is predetermined before the spin, but crucially hidden from the user to prevent manipulation. The hash is stored and shown to the user via a modal if you click the button "Show Server Seed Hash" as soon as the spin is initiated. After the spin has completed, the original server seed is revealed and can be seen when you click the button "Reveal Server Seed". Users can verify the hash themselves using any SHA-256 calculator, confirming that the seed hasn't changed. If the hash matches, they know the spin was fair.

🔐 Provable Fairness System

To ensure transparency, we use a Seed Reveal system:

  1. Before the spin, we show you a SHA-256 hash of the secret server seed. Click this button once the wheel has started spinning:
  2. This hash cannot be reversed, so we cannot cheat or modify it after showing it to you.
  3. After the spin, we reveal the actual server seed and client seed + nonce. Click this button once the wheel has stopped spinning:
  4. You can verify that:
    sha256("serverSeed") = pre-shown-hash
    Use a SHA-256 tool (like this one)

This proves that the outcome was pre-determined but hidden, and not manipulated based on who was picked.

Click the button below to test the seed reveal system on a live wheel:

🎲 How Random Is It?

We use browser-grade cryptographic randomness via crypto.randomUUID(), along with SHA-256 for irreversible hashing. The combination of secure random numbers, client-side timing, and hash-based outcomes ensures that each spin is independent, unpredictable, and tamper-proof.

🔍 Want to Verify a Spin?

  1. Copy the revealed server seed
  2. Use a SHA-256 tool (like this one)
  3. Hash the server seed
  4. Compare it to the pre-spin hash
  5. If they match, the spin was fair and untampered

✅ Summary

This wheel uses a provably fair system that is:

  • Random – Uses crypto-secure randomness
  • Fair – Outcomes are not chosen after the spin begins
  • Transparent – All seeds and hashes are visible before and after
  • Independent spin logic — no repeats or memory (all seeds are reset after each spin)
  • Fully client-side — no data ever leaves your device

Logo Interesting Fact: what is the most commonly picked random number between 1 and 100?

7 is the most commonly picked number between 1 and 100 by a human.

🤔 Why 7?
  • People like odd numbers.
  • 7 is considered "lucky" in many cultures.
  • It's not a multiple of 5 or 10, so it feels less "obvious."
  • It's small, but not too small.

Other Popular Random Numbers:

Studies and surveys show that 3, 17, 37, and 42 also come up a lot. Especially 17 and 42 — this is likely thanks to "The Hitchhiker's Guide to the Galaxy".

If you're ever asked to "pick a random number from 1 to 100," and you say 7, you're actually being predictable!