Sequential cards. Guess higher or lower for each. Multiplier accumulates, cash out anytime.
Guess higher or lower than the current card. Multiplier accumulates with each correct guess. Cash out anytime.
Mechanism. Tie cards (push) are weighted higher than 1/13 — operator wants you to "guess again" because each push slightly drains your edge and morale.
Red flag. Track push rate over 200+ rounds. Expected 1/13 ≈ 7.7%. Significantly higher = deck-weighting.
Mechanism. After ~10 correct guesses, operator displays multiplier 50× but caps cashout at 30× silently. Players don't notice until withdrawal.
Red flag. Read cashout terms before chasing long streaks. The displayed multiplier MUST be the actual payout.
Mechanism. Some operators use the same HMAC float for both "current card" and "next card" — guessing higher/lower is then non-trivial to lose.
Red flag. Each card must use a NEW float from the stream (different cursor). If your "next card" rank is deterministic given current card, the RNG is broken.
For the full compendium across all games, see The Book of Casino Dirty Tricks.
—— pending rotation —card_index = floor( HMAC_float · 52 ) // 0..51 rank = card_index mod 13 // 0=Ace, 12=King suit = card_index ÷ 13 // 0=♠, 1=♥, 2=♦, 3=♣
Each round starts with a card. You bet that the next card will be higher or lower. The multiplier per correct guess is derived from the probability:
if guess = "higher": p = (12 − rank) / 12 if guess = "lower": p = rank / 12 step_multiplier = (1 − HE) / p
Ties (next card has the same rank) are “push” — you guess again from the new card without losing the round. Multipliers compound: each correct guess multiplies the cumulative multiplier by step_multiplier. Cash out anytime; bust the round on a wrong guess.
The honest provably-fair Hi-Lo derives each card from a fresh cursor position in the HMAC stream — same nonce, advancing cursor. This means a single round can verifiably consume 10, 20, or 50 cards, all derivable from the same (server, client, nonce) plus cursor index. Dishonest variants reuse the same float for both “current” and “next” card or use a flawed stream, making the round predictable or non-independent.
From the book:
Hi-Lo is one of the few in-house games where ostensible strategy choices matter — but only marginally and only against the operator’s house edge. The naive strategy (“always higher on low cards, always lower on high cards”) is correct: it maximises win probability per guess. But house edge still applies to that probability, so long-run expected value is still negative.
Where strategy compounds:
Low cards (Ace/2/3) are best for “higher” calls — high win probability per guess but small multiplier. High cards (J/Q/K) are best for “lower” calls — same. Sevens are the worst (almost coin flip).
Yes — that’s the whole point. The cashout button arms after your first correct guess. You can lock in modest multipliers safely, or chase 100×+ at risk of giving everything back.
After seed rotation, derive each card yourself. HMAC-SHA256(revealed_server, “{client}:{nonce}:0”) gives bytes; each 4-byte chunk yields one card_index. Card order must match the round you played. Use our Hi-Lo verifier.