MINES PROVABLY FAIR VERIFIER
Every Mines board you ever played is frozen inside a hash. Give this page the revealed seed pair and the bet’s nonce and it rebuilds the 5×5 grid tile by tile, showing precisely which squares were rigged with bombs before your first click.
Every mode first checks the commitment: SHA-256(server seed) must equal the hashed seed you were shown before betting. Stake and Shuffle seed games use HMAC-SHA256(server seed, "clientSeed:nonce:cursor") per their published docs; BC.Game modes are ported from its open-source verifier; Stake and BC.Game crash use the game hash and salt. For Roobet and other casinos we could not find a byte-level spec, so only the commitment is checked. Sources are listed in the supported list.
Calculation Steps
The whole tension of Mines is information asymmetry: the casino knows where the bombs sit and you are guessing. Provably fair keeps that asymmetry honest — the layout is a deterministic function of a seed pair committed before the round, so “the mine moved under my click” is a checkable claim, not a feeling. Rebuild the board here and see for yourself where the bombs actually were.
Not sure which to choose? See what we recommend for each type of player.
HOW MINE POSITIONS ARE CALCULATED
The tool first checks that SHA-256(revealed server seed) matches the hashed seed you were shown. Then, at Stake (stake.com/provably-fair/game-events) and Shuffle (help.shuffle.com 9286069), Mines draws tiles without replacement so no two mines land on the same tile:
- Generate one float per mine from the HMAC stream (it advances the cursor automatically as bytes are consumed).
- Start with a pool of tiles [0..24]. For each mine,
idx = floor(float × remaining-pool-size), take that tile, and remove it from the pool.
To sanity-check the port: the vector pair some server seed / some client seed at nonce 1, played with 3 mines, buries the bombs under tiles 15, 21, 4 (counting 1–25 across the rows). Any mine count from 1 to 24 just extends the same draw — more floats, same stream, still reproducible. Pick your mine count in the tool. Shuffle writes the same draw as a skip-taken-tiles loop; in our tests it gives the same board as Stake’s method.
BC.Game works differently: its open-source verifier (github.com/bcgame-project/verify, mines.html) hashes HMAC-SHA256(serverSeed, "clientSeed:nonce") and re-orders a fixed list of the 25 tiles twice by rotating SHA-256 hashes. The tool prints that same 25-tile order; compare its first tiles with the mines on your board. Roobet and other casinos are not reproduced.
BOARD COMBINATORICS: WHAT FAIR LOOKS LIKE
A 5×5 grid with n bombs has “25 choose n” possible layouts: 25 boards with one mine, 2,300 with three, 53,130 with five, and back down to 25 again with twenty-four (only the safe square varies). A fair generator must make each of those layouts equally likely, and the shrinking-pool draw achieves that: the first float picks among 25 tiles, the next among the remaining 24, and so on, exactly like dealing cards from a shuffled deck. It also pins down your real odds — with three mines, the first tile you open is safe 22 times in 25 (88%), and surviving two picks happens with probability 22/25 × 21/24 ≈ 77%. Payout curves are priced against those fractions, minus the house margin.
WHAT REBUILDING A BOARD SETTLES
The one accusation that haunts every Mines table is relocation — that the bomb teleported onto whichever tile you touched. A rebuilt board answers it conclusively: the tile list this page prints comes from data the casino committed to (as a hash) before the round existed, and your client seed was stirred in from your side. If the recomputed bombs sit where you died, the layout predated your clicks; if the revealed seed fails to match its pre-round hash, you hold cryptographic evidence of tampering. That is the entire dispute, resolved either way — though note a fair board still carries the game’s built-in margin, and the commitment scheme itself is worth understanding once.
Related Resources
Play Mines: Stake Mines
Strategy: Mines Strategy Guide
Boards you can rebuild anywhere: the provably-fair operator list