Goated Originals verifier
Paste a revealed Goated server seed, client seed and nonce. This page recomputes the selected Original with Goated’s published HMAC-SHA256 and generateFloats — not Stake, Shuffle or BC.Game mappings. After the page loads, nothing is sent to a server.
What this page implements
HMAC + generateFloats
Goated keys HMAC-SHA256 with the revealed server seed and signs client_seed:nonce:cursor. Each digest yields eight floats: four bytes as Σ byte[j] / 256^(j+1). The cursor increments once per HMAC round.
Game maps from the spec
Dice (both published edges), Plinko, Keno 1–40, Wheel, Diamonds, Roulette, Limbo, Blackjack / HiLo / Baccarat with replacement, G3 Cards Fisher–Yates, Mines splice, and Goat Run accident lanes. Those formulas are the ones on goated.com/fairness/implementation.
Not on this page
Crash and Uno Lite have no published outcome map. Tower is deferred because Goated never publishes TowerConfig.num_positions / num_safe_positions — guessing those tables would invent results.
Not the unified calculator
Goated is also a tab on the unified /verify calculator. This page is the dedicated Goated-only view.
Does any of my data leave this page?
No. After the page loads, hashing runs through the browser Web Crypto API. Seeds are not posted anywhere.
Why is Keno 1–40, not 0–39?
Goated’s published snippet splices from Array(40).keys() — the indices 0…39. The lobby board is 1–40 with no zero, so this page shows each drawn index plus one. The tiles you see match the game; the HMAC draw is unchanged.
Why two Dice tables?
Goated publishes both. The current 1% table is floor(float × 10001) / 100 (10,001 outcomes, 0.00–100.00). Older 0.95% bets used round(float × 10000) / 100. Pick the edge that was active on the bet.