Provably Fair Roulette

Any time you load this page, we shuffle a shoe of cards behind the scenes. We then convert the shoe of cards to a JSON object, encrypt it using the SHA256 algorithm, and send it to your browser (shown in the "hash secret" box).

In the same way, your browser simultaneously creates a random encrypted string, shown in the "client secret" box. You can alter this random string to whatever you desire, like a lucky number or phrase.

Once you click deal, your browser sends our server the "client secret", we then combine that value with the original "secret hash" and re-shuffle the initial shoe of cards. You can think of this as "cutting the deck" - and, because our servers can’t anticipate the random string you’ll send, there’s no way for us to predict the shuffle.

Prior to each hand, we show both your secret string and encoded, hash-containing shuffle data pre-produced for the hand. After dealing, we show you the resulting values from the hash. By combining these with your computer’s string and the hash, you can successfully decode the complete shuffle, and thus verify the legitimacy of our games