5×5 board with Fisher-Yates mine shuffle committed at round start. Cash out anytime.
5×5 board, hidden mines. Cash out anytime — multiplier rises per safe reveal. 1% house edge.
Mechanism. Layout is not committed at round start. Each click re-rolls the mine map with a higher mine-density bias as your multiplier rises.
Red flag. Stake-style PF commits the FULL Fisher-Yates shuffle at round start. If the operator can't reveal all mine positions after a single click, they're cheating.
Mechanism. To feel generous, the first click is forced safe — but the next mine is moved closer to your likely-next click. Net EV worse than advertised.
Red flag. In a proper PF Mines, the first click can land on a mine. If you've never busted on click 1 in dozens of rounds, the layout is biased.
Mechanism. When current multiplier approaches your displayed cashout target, the button becomes unresponsive for 300ms. You either accept staler value or wait into a mine.
Red flag. Click-to-confirm timing must be deterministic. Variability tied to multiplier value = intentional friction.
Mechanism. Displayed multiplier for "3 mines, 5 safe" is 2.5× but actual payout 2.45×. Sub-cent skim per click multiplies over a session.
Red flag. Compute m(M, r) = (1 − HE) · C(25, r)/C(25 − M, r) yourself for your config. Operator must match to 4 decimal places.
Mechanism. Auto-cashout triggers fire AFTER the next reveal — if that reveal is a mine, you lose even though you "cashed out".
Red flag. Order of operations must be: cashout request → operator confirms → bet closed → THEN you can reveal more. Any race condition is house-favorable by design.
For the full compendium across all games, see The Book of Casino Dirty Tricks.
—— pending rotation —The board is 25 tiles, with M of them mines. The honest provably-fair algorithm commits the entire mine layout at round start using an inside-out Fisher-Yates shuffle driven by HMAC floats:
arr = [0, 1, 2, ..., 24]
for i from 24 down to 1:
j = floor( float[24 − i] · (i + 1) )
swap(arr[i], arr[j])
mines = arr[0 .. M-1] // first M positions = mine indicesThe multiplier after R safe reveals follows binomial counting:
m(M, R) = (1 − HE) · C(25, R) / C(25 − M, R)
Where C is the binomial coefficient. The Mines payout matrix calculator computes the full table for any mine count.
Several operators have implemented Mines variants where the first click is forced safe. This feels generous but is exactly the kind of cheat the Dirty Tricks book warns about: the operator is no longer committing the layout at round start. The mines are being regenerated after your first click, which means they can also be biased to be closer to your statistically-likely second click.
The math is elegant: at any safe-reveals count R, expected return for clicking the next tile equals exactly −house edge. (Try it: probability of safe next tile times the ratio of next-multiplier to current-multiplier minus one.) But the variance of clicking next tile can be huge.
With 20 mines and 4 safe reveals, multiplier is around 121×. Clicking the next tile gives an 80% chance of going to ~242× and a 20% chance of zero. That’s a coin-flip moving you between $0 and $24,200 on a $100 bet. Same expected value as one Crash round at 1.01×. Wildly different sleep quality.
No — that’s the whole point of a committed layout you can’t see. Each click reveals one tile’s identity. Strategy is purely about how many to flip before cashing out.
Combinatorial explosion. After R safe reveals with M mines, the probability you’d have flipped R safe ones in a row is C(25−M, R) / C(25, R). The reciprocal of that probability, minus house edge, becomes the multiplier. Probabilities of long runs are small; their reciprocals are large.
With M = 24 mines (only 1 safe tile), the safe-reveal multiplier on the first click is ~24.75× (one-of-25 probability minus 1% HE). With M = 1 mine, after 24 safe reveals the multiplier is ~24.75× again. The shape of the payout curve depends on your chosen mine count.