Every bet on Casino can be independently verified. Here is how it works.
Casino uses HMAC-SHA256 to generate game outcomes in a way that is both random and verifiable. Before each bet, the outcome is determined by three inputs: a server seed, a client seed, and a nonce. Because the server seed is hashed before the bet is placed, neither party can manipulate the result after the fact.
The server generates a random seed and shows you its SHA-256 hash before the game begins. The actual seed remains hidden until you choose to rotate it. Once revealed, you can verify that the hash matches the seed that was used — proving the outcome was not changed after your bet.
You provide your own client seed (or use the one we generate for you). This seed is combined with the server seed during the HMAC-SHA256 calculation, ensuring you have direct influence over the outcome. You can change your client seed at any time.
The nonce is a counter that starts at 0 and increments by 1 with each bet you place under the current seed pair. It guarantees that every bet produces a unique result, even if the server seed and client seed remain the same.
// Generate the HMAC
hmac = HMAC-SHA256(serverSeed, clientSeed + ":" + nonce)
// Convert first 4 bytes of the hex hash to a number
int = parseInt(hmac.substring(0, 8), 16)
// Map to a game result (e.g. 0–99.99 for dice)
result = (int % 10000) / 100
You can use any online HMAC-SHA256 calculator or write a simple script to perform the verification.