BC.Game runs the deepest catalogue of provably-fair originals in crypto-casino land — 18+ titles across Crash, Limbo, Dice, Classic Dice, HiLo, Plinko, Mines, Keno, Wheel, Sword, Tower, Coinflip, Roulette, Double, Baccarat, two Blackjacks, and Twist. That breadth comes with three different RNG families under the hood, which means "BC.Game scams" cluster around people exploiting how confusing the verification flow looks compared to a Stake-style chain. This guide breaks the RNG families down, walks through verifying a bet on each, and flags the operator-specific things to watch for.
The three RNG families on BC.Game
Knowing which family a game belongs to determines what fields you paste into the verifier:
- Chain games(Crash, Roulette, Double, Baccarat). Pre-computed SHA-256 chain seeded by a publicly committed Bitcoin block hash. Each session walks one hash per round. You don't need your own client seed — the chain is universal — and the round you're verifying is identified by its
gameHash. Verifier needs: gameHash + salt (= the Bitcoin block hash) + house-edge percentage. - Single-bet HMAC games (Limbo, Dice, HiLo, Plinko, Mines, Keno, Wheel, Sword, Tower, Coinflip, Classic Dice, the two Blackjacks). Standard server seed + client seed + nonce. Salted HMAC-SHA256 produces uint32 chunks that drive the game outcome. Verifier needs: serverSeed, clientSeed, nonce, plus game-specific parameters (mines count, plinko rows, etc.).
- Twist(the one lookup-table slot we haven't shipped a verifier for yet). The result is determined by a static reel-position lookup against the HMAC stream — the math is reverse-engineered but the table isn't public enough yet to ship a tool that won't produce false mismatches. Treat any "I won 10,000× on Twist" screenshot as unverifiable for now.
If you've never opened a fairness panel, how provably-fair Crash actually works covers the underlying theory in 12 minutes. Read that first.
The actual scam patterns on BC.Game
- Fake Crash screenshots that ignore the chain. Anyone showing you a "BC.Game Crash hit 5000×" screenshot without the gameHash + salt has shown you a screenshot, not a bet. The chain is public; if the round really hit that, the gameHash + salt verifies it. No gameHash = no verification possible = treat as fake.
- "Crash predictor" Telegram channels. BC.Game Crash uses a pre-computed SHA-256 chain seeded by a Bitcoin block hash that's already mined. The full chain exists at session start. A predictor would either be selling you the chain (which BC.Game publishes for free after the session ends) or solving SHA-256 in reverse. Both are jokes.
- Phishing clones.
bc-game.com(note the hyphen),bc.game-login.ioand similar. BC.Game's only legitimate domain isbc.gameor its country-specific subsidiaries listed on their fairness page. Anything else asking for your seed phrase or a withdrawal "verification fee" is a clone. - Fake mod / support DMs.Big crypto casinos attract DM scammers impersonating support. BC.Game support will never DM you first, never ask for your seeds, and never ask you to send a small amount to "unlock" a withdrawal. Every legitimate ticket is opened by you, from the site, while logged in.
Step-by-step: verifying a BC.Game Crash round
Crash is the most-faked title, so it's worth walking through end-to-end. The other chain games (Roulette, Double, Baccarat) follow the same flow with a different parameter set.
- Open the round in BC.Game's history. Bet History → click the round. Note the
gameHash(a 64-char hex), the displayed crash multiplier, and the session's announcedsalt(the Bitcoin block hash committed before the session started). Both are public in the fairness panel. - Open the BC.Game Crash verifier. Paste the gameHash + salt. Leave house edge at 1% (the default) unless BC.Game has changed it for that session.
- Compare the multiplier. Our verifier outputs the crash point given those inputs: SHA-256(gameHash) XOR salt → take the 52-bit slice → apply
(100 - houseEdge) / (1 - X). That number must match BC.Game's announced result to two decimal places.
If you want to verify every round in a session, you only need the latest gameHash — the chain is SHA-256(prev) = current, so walking backwards reveals every round before it. That's the "chain" property; it's why a single committed block hash cryptographically locks the whole session.
Step-by-step: verifying a single-bet HMAC game
Limbo, Plinko, Mines, Keno, etc. work like a Stake / Roobet bet. The flow:
- Rotate the seed pair on
bc.game/help/provably-fair. BC.Game won't reveal a server seed that's still in use. Rotation finalises every bet on that seed and exposes the original. - Pull the inputs from your bet history: serverSeed, clientSeed, nonce, plus the game-specific knobs (mine count, plinko risk + rows, keno picks, etc.).
- Pick the verifier: Limbo, Dice, Classic Dice, HiLo, Plinko, Mines, Keno, Wheel, Sword, Tower, Coinflip, Blackjack.
- Paste, run, compare.Our output must match BC.Game's credited result. If not, see the mismatch checklist below.
HMAC-SHA256(serverSeed, "clientSeed:nonce")→ slice into 4-byte uint32 chunks → divide by 2³² to get floats in [0, 1) → feed into the game's deterministic logic (Fisher-Yates for Mines/Keno; left/right booleans for Plinko; threshold check for Limbo). The slight variations per game are all in the "feed into deterministic logic" step. The HMAC core is identical.If the BC.Game verifier disagrees
The four most common causes, ranked:
- Active seed. The server seed BC.Game shows on a still-active rotation is the hash, not the seed. The verifier needs the actual unhashed seed — visible only after you rotate.
- Wrong salt(chain games). BC.Game publishes one salt per session; verifying a round with the previous session's salt produces garbage. Match the salt to the session that contains your gameHash.
- House edge changed. Standard is 1%, but BC.Game has run promo sessions at 0.5%. The fairness panel declares the house edge per session — use what was active during your bet, not the default.
- Wrong field encoding. Server seeds are 64 hex chars. Client seeds are user-chosen strings. Nonces are decimal integers, not hex. Most mismatches at this layer come from accidentally pasting a hash where the verifier wants the unhashed value.
Past those — if the math really doesn't reconcile — you have grounds for a support ticket. Document the gameHash (chain games) or the seed triple + nonce (HMAC games), the verifier output, and BC.Game's declared result. If support stalls, the unpaid winnings escalation guide is the next step. BC.Game holds licenses (Curaçao, Anjouan regional variants) that come with ADR obligations.
BC.Game-specific pre-bet checklist
- Domain is exactly
bc.game— neverbc-game, never an .io / .co alternate. The site's legitimate regional mirrors (bc.fun, bc.co, etc.) are all listed onbc.game/help/provably-fair— bookmark from the official page. - For the current Crash session, the announced Bitcoin block hash + height are visible in the fairness panel. Spot-check one round before you scale by verifying it on our Crash verifier. If the chain doesn't walk, the operator you're on isn't the real BC.Game.
- KYC done at signup if you intend to deposit non-trivial amounts. BC.Game does run KYC at withdrawal thresholds — the friction is identical whether you front-load it or face it after winning.
- Universal red-flag pass — license number, T&Cs, address, reviews — same as everywhere else. The 8 red flags checklist applies here too.
Verification on BC.Game looks intimidating because the algos differ across games, but each one comes down to a one-line recipe and a copy-paste. Do it once on a real bet you placed and the muscle memory carries over. Never trust a screenshot you can't verify — especially not one trying to sell you a course.


