Provably Fair

Verify every hand yourself

Before any bet, bitZino generates a random server seed and publishes its SHA-256 hash to you. You pick a client seed. Each bet is a deterministic function of HMAC_SHA256(server_seed, client_seed:nonce:cursor). The server cannot change the outcome after the fact — the hash is committed up front.

When you rotate seeds, the previous server seed is revealed. You can re-run the HMAC yourself and confirm every prior outcome.

Sign in to view your active seed and try the demo coin flip.

Verify it yourself

Any language with HMAC-SHA256 works. In Node:

import { createHmac } from "crypto";
function outcome(serverSeed, clientSeed, nonce, cursor = 0) {
  const h = createHmac("sha256", serverSeed)
    .update(`${clientSeed}:${nonce}:${cursor}`)
    .digest();
  // first 4 bytes → uniform float in [0, 1)
  return (h[0]*2**24 + h[1]*2**16 + h[2]*2**8 + h[3]) / 2**32;
}
// coin flip: < 0.5 → heads, else tails