Provably Fair Verifier
Paste any past bet seeds to reproduce the exact outcome.
HMAC_SHA512(server_seed, "client_seed:nonce:cursor")
Every roll, crash multiplier, mine grid, plinko path, and coinflip outcome is derived from this single deterministic stream. The server_seed is committed as a SHA-256 hash before any bet and revealed only after rotation, so you can re-derive every prior result independently.
Dice verifier
Reproduce any past dice bet locally from its seeds + nonce.
Python reference
import hmac, hashlib
def floats(server, client, nonce, n=1):
out, cur = [], 0
raw = hmac.new(server.encode(),
f"{client}:{nonce}:{cur}".encode(),
hashlib.sha512).digest()
i = 0
while len(out) < n:
if i + 4 > len(raw):
cur += 1; i = 0
raw = hmac.new(server.encode(),
f"{client}:{nonce}:{cur}".encode(),
hashlib.sha512).digest()
b = raw[i:i+4]
out.append(b[0]/256 + b[1]/65536
+ b[2]/16777216 + b[3]/4294967296)
i += 4
return out
Node.js reference
import { createHmac } from 'node:crypto';
function floats(server, client, nonce, n=1) {
const out = []; let cur = 0;
let raw = createHmac('sha512', server)
.update(`${client}:${nonce}:${cur}`).digest();
let i = 0;
while (out.length < n) {
if (i + 4 > raw.length) {
cur += 1; i = 0;
raw = createHmac('sha512', server)
.update(`${client}:${nonce}:${cur}`).digest();
}
out.push(raw[i]/256 + raw[i+1]/65536
+ raw[i+2]/16777216 + raw[i+3]/4294967296);
i += 4;
}
return out;
}