โ† tdg.bet
Provably Fair ยท TDG

Stake Originals Verifier

Verify Stake game outcomes and simulate seed performance using HMAC-SHA256 provably fair verification. Built for The DoppelGamblers community.

๐Ÿ”’

Hash Verification

Simulation running...
โš™๏ธ

Seed Configuration

๐Ÿ“‹

Seed History

No seeds saved yet. Enter a seed above and click "Save Seed" to start tracking.
๐Ÿ”ด

Plinko โ€” Verify & Simulate

Nonce Scanner
Bulk Verify
๐ŸŽฒ

Dice โ€” Verify & Simulate

Bulk Verify
๐Ÿš€

Limbo โ€” Verify & Simulate

Bulk Verify
๐ŸŽฐ

Keno โ€” Verify & Simulate

Hard
๐Ÿ’ฃ

Mines โ€” Verify & Simulate

๐Ÿ“ˆ

Crash โ€” Verify Round

Crash uses a hash chain with a public salt โ€” not per-player seeds. Each round's game hash chains to the next via SHA256. Enter the game hash and salt to verify.
Hash Chain Verification
๐ŸŽข

Slide โ€” Verify Round

Slide uses a hash chain like Crash, but with a 2% house edge instead of 1%. Enter the game hash and server seed to verify.
Hash Chain Verification
๐Ÿ“–

How Provably Fair Works

click to expand
Each game uses HMAC_SHA256(serverSeed, clientSeed:nonce:round) to generate random bytes.

Plinko: N floats determine left/right at each peg (N = row count, 8โ€“16). Four difficulty tiers โ€” Easy, Medium, Hard, Expert โ€” each with its own payout table per row count (36 tables total). Edge buckets require all N floats falling the same way (probability 1 / 2^N per edge). At 16 rows: 1 in 65,536 per edge, 1 in 32,768 for either edge. Edge multiplier ranges from 5.6ร— (Easy 8 rows) to 10,000ร— (Expert 16 rows).

Keno (Hard): 10 numbers are drawn from 40 squares via selection without replacement. Each float selects from remaining squares (40, 39, 38... down to 31), guaranteeing no duplicates. Payouts are for Hard difficulty only.

Mines: 24 game events are generated via selection without replacement on a 5ร—5 grid (25 tiles). Each float places a mine on a remaining tile (25, 24, 23... down to 2). The first N results are used based on your mine count setting.

Dice: One float generates a result from 0.00 to 100.00 via floor(float ร— 10001) / 100. You bet on the result being over or under your target. Payout multiplier = 99 / (win chance %), where the 99 accounts for 1% house edge.

Limbo: One float generates a multiplier via floor(1e8 / (floor(float ร— 1e8) + 1) ร— 0.99 ร— 100) / 100. Result is always โ‰ฅ 1.00x. You pick a target multiplier โ€” if the result meets or exceeds it, you win at that payout. House edge is 1%.

Verification: The casino commits to a hashed server seed before you bet. After rotating, you receive the unhashed seed and can reproduce every result. If SHA256(serverSeed) matches the committed hash, the casino didn't tamper.

Crash: Uses a hash chain โ€” each round's hash is SHA256(previous_hash). The crash point is derived from HMAC_SHA256(gameHash, salt) where salt is a public Bitcoin block hash. Formula: floor(2^32 / (n + 1) ร— 0.99 ร— 100) / 100 where n = first 4 HMAC bytes as integer. House edge: 1%.

Slide: Same hash chain mechanism as Crash, but with a 2% house edge (ร—0.98 instead of ร—0.99). The salt is the server seed rather than a block hash.