Provably Fair

How it works

Every bet's outcome is determined by a deterministic function of three values: a server seed, your client seed, and an incrementing nonce. The hash of the active server seed is shown to you in advance — once you rotate the seed, we reveal the original value so you can verify every previous bet was untampered.

Place a bet to initialize your seed pair.

Verify a bet

After rotating, you can recompute any past bet using:

hmac_sha256(server_seed, `${client_seed}:${nonce}:${cursor}`)
  → 32 bytes → split into 4-byte uint32s → / 0xFFFFFFFF → floats in [0,1)

Each game uses these floats in a documented way (e.g. Crash: bust = floor((100 − 3) / (1 − r)) / 100). Source for every game lives in lib/games/ on GitHub.