Verify a pull

  1. Before you pull, we commit to a secret server seed by showing its SHA-256 hash.
  2. Each pull combines that seed with your client seed, a counter (nonce) and the hash of the pack's odds table: HMAC-SHA256(serverSeed, clientSeed:nonce:oddsHash).
  3. The first bytes pick the tier by its chance, the next pick the value inside that tier's range, the next pick the coin.
  4. When you rotate your seed, we reveal the old server seed, and anyone can recompute every pull made with it right here, in your browser.