Every result on Haddzy is a deterministic function of four public inputs: server seed, client seed, nonce, and game name. Once a server seed is rotated, it is revealed forever — you can paste it here and reproduce any result, or run the same algorithm yourself in any language.
This is the exact source running on our servers. Copy it, paste it anywhere, and confirm we are not lying about your results.
import { createHmac } from 'node:crypto';
export function* hmacFloatStream(serverSeed, clientSeed, nonce, gameName) {
let cursor = 0n;
while (true) {
const input = `${clientSeed}:${nonce}:${gameName}:${cursor}`;
const hmac = createHmac('sha256', serverSeed).update(input).digest();
for (let i = 0; i < 8; i++) {
yield hmac.readUInt32BE(i * 4) / 0x1_0000_0000;
}
cursor++;
}
}import hmac, hashlib
def hmac_float_stream(server_seed: str, client_seed: str, nonce: int, game_name: str):
cursor = 0
while True:
msg = f"{client_seed}:{nonce}:{game_name}:{cursor}".encode()
digest = hmac.new(server_seed.encode(), msg, hashlib.sha256).digest()
for i in range(8):
chunk = digest[i*4:(i+1)*4]
yield int.from_bytes(chunk, 'big') / (1 << 32)
cursor += 1