Provably fair
Slots
When you open the game page the server generates a secret and a seed and reveals its hash (using HMAC SHA256 algorithm). The server secret represents initial reels positions. The server seed is a cryptographically secure random alpha-numeric string. The hash of these 2 strings helps to ensure that the initial reels positions are not altered after you choose the number of lines and bet amount. After the game is finished the server secret and the server seed are revealed, so you can easily calculate and verify the hash.
When you play a game you can pass an extra custom string - client seed (if it's not specified a random number is automatically generated by your browser). The server will then calculate another hash using the server secret, the server seed and the client seed. The last 5 chars of this hash (representing a hexadecimal value) will be converted to an integer. Each digit in this number will result in an extra number of spins on the corresponding reel (from left to right). Because the client seed can not be predicted by the server the number of extra spins is completely random and hence you can be sure that the game result is fair.
Dice
When you open the game page the server generates a secret and a seed and reveals its hash (using HMAC SHA256 algorithm). The server secret represents a random number - initial roll (from 0 to 9999). The server seed is a cryptographically secure random alpha-numeric string. The hash of these 2 strings helps to ensure that the initial roll is not altered after you make a bet. After the game is finished the server secret and the server seed are revealed, so you can easily calculate and verify the hash.
When you play a game you can pass an extra custom string - client seed (if it's not specified a random number is automatically generated by your browser). The server will then calculate another hash using the server secret, the server seed and the client seed. The last 5 chars of this hash (representing a hexadecimal value) will be converted to an integer. The result number will be used to adjust the initial roll. Because the client seed can not be predicted by the server the adjustment is completely random and hence you can be sure that the game result is fair.
Card games
When you open the game page the server generates a secret and a seed and reveals its hash (using HMAC SHA256 algorithm). The server secret represents randomly shuffled card deck. The server seed is a cryptographically secure random alpha-numeric string. The hash of these 2 strings helps to ensure that the initial card deck is not altered after you choose the bet amount. After the game is finished the server secret and the server seed are revealed, so you can easily calculate and verify the hash.
When you play a game you can pass an extra custom string - client seed (if it's not specified a random number is automatically generated by your browser). The server will then calculate another hash using the server secret, the server seed and the client seed. The last 5 chars of this hash (representing a hexadecimal value) will be converted to an integer. The result number will be divided by 52 (number of cards in the deck) and N cards will be cut (moved from the top to the bottom of the deck), where N is the remainder of the division. Because the client seed can not be predicted by the server the number of cards cut from the initial deck is completely random and hence you can be sure that the game result is fair.
Keno
When you open the game page the server generates a secret and a seed and reveals its hash (using HMAC SHA256 algorithm). The server secret represents a list of 20 unique random numbers from 1 to 80. The server seed is a cryptographically secure random alpha-numeric string. The hash of these 2 strings helps to ensure that the initial roll of random numbers is not altered after you make a bet. After the game is finished the server secret and the server seed are revealed, so you can easily calculate and verify the hash.
When you play a game you can pass an extra custom string - client seed (if it's not specified a random number is automatically generated by your browser). The server will then calculate another hash using the server secret, the server seed and the client seed. The last 5 chars of this hash (representing a hexadecimal value) will be converted to an integer. The result number will be used to adjust each of the 20 numbers generated before the game. Because the client seed can not be predicted by the server the adjustment is completely random and hence you can be sure that the game result is fair.
Horse Racing
When you open the game page the server generates a secret and a seed and reveals its hash (using HMAC SHA256 algorithm). The server secret represents final horses positions. The server seed is a cryptographically secure random alpha-numeric string. The hash of these 2 strings helps to ensure that the initial roll is not altered after you make a bet. After the game is finished the server secret and the server seed are revealed, so you can easily calculate and verify the hash.
When you play a game you can pass an extra custom string - client seed (if it's not specified a random number is automatically generated by your browser). The server will then calculate another hash using the server secret, the server seed and the client seed. The last 5 chars of this hash (representing a hexadecimal value) will be converted to an integer. The result number will be used to adjust the initial horses positions. Because the client seed can not be predicted by the server the adjustment is completely random and hence you can be sure that the game result is fair.