We are dedicated to ensuring that Prizeray is 100% fair for all players, and that we as a business are transparent about our practices.
Draw results are created using a cryptographically-secure pseudorandom number generator (CSPRNG). You can read about what that is here. The abridged version: we utilize unguessable entropy within our drawing computer as the basis of randomness.
1. Random Seed: The first step to produce a set of winning numbers is to generate a random "seed," which serves as the basis of randomness all
other operations utilize. Our drawing system makes use of the crypto module from Node.js to generate 64 bytes of random data from
the host system.
2. Fisher-Yates shuffle: The next step involves us taking a list of every possible number we can draw (1 through 25), and shuffling that list
using the
Fisher-Yates Shuffle algoritm.
The randomness required by the Fisher-Yates Shuffle is derived from the random seed we created in step 1. Once the list is shuffled, we take the first 5
numbers of the list, which become the draw's winning numbers. We utilize
seedrandom
to handle the generation of random numbers after injecting the random seed.
3. Storage: We store the random seed alongside the winning numbers in the database. These seeds are available to you. For any draw, you can
utilize the algorithm outlined above with the draw's seed to reproduce the winning number set.
View recent drawings in bulk here.
Click here to visit a CodePen tool that gives you an easy way to check a seed yourself. Find the seed of the drawing you want to verify, and then put that in the "DRAWING_SEED" variable. Check the console to see the winning numbers displayed.
If you have any questions or requests for past drawing information, please contact us at support@prizeray.com.