Shuffle Crash verifier
This Shuffle Crash verifier recomputes a round from the round's game hash and the public client seed, in your browser, using the construction Shuffle publishes: HMAC-SHA256 over a pre-committed hash chain. Shuffle publishes 99% RTP for Crash (checked 2026-09-23). With the example inputs below the round comes out as 8.54×; press “Load example values” and Verify to reproduce it.
Disclosure: VerifyRoll is sponsored by Craze, a competitor of Shuffle. Figures here are computed or taken from what operators publish, dated; nothing is estimated.
Loading verifier…
How a Shuffle Crash round is derived
Why Crash uses a different construction from other Originals: a pre-committed hash chain salted with a public Bitcoin block hash, and where the 1% edge enters.
- Before launch the operator generates a long chain of hashes, each the SHA-256 of the next, and publishes the final one. Rounds are played from the chain backwards, so every game hash was fixed before the first round.
- A public client seed, the hash of a Bitcoin block chosen after the chain was published, salts every round so the operator could not have picked a favourable chain.
- For a round: bytes = HMAC-SHA256(key = game hash, msg = client seed). Read the first 13 hex characters (52 bits) as an integer r, and X = r ÷ 2^52, a value in [0, 1).
- Crash point = max(1, floor(99 ÷ (1 − X)) ÷ 100). The 99, rather than 100, is the house edge.
X = int(hmac[0:13]) / 2^52; point = max(1, floor(99 / (1 − X)) / 100)
Full derivation, payout rule and every operator's figure on the Crash maths page.
Shuffle's published RTP for Crash
99%, a house edge of 1%, as published by Shuffle and checked 2026-09-23. The 99 in the numerator. With 100 the game would return exactly 100% over time; each point of the numerator below 100 is a point of edge. The verifier proves the round; it cannot see the RTP. Read the figure in the game's own info panel and compare it with this one.
Worked example
Computed on the server by the same function the verifier runs. The game hash and public seed are example values, not from a real round.
- game hash
- 000000000000000000d2a0c1b6a9e7a0f2f3a3b1c4d5e6f708192a3b4c5d6e7f
- client seed
- verifyroll-shuffle
- HMAC-SHA256(game hash, client seed)e2578caf75bfedd13ed3b3b0659ab21d4c4f4f9abc6d6004e86eab9291a16b37
- X (1): 0.88414840
- hmac = e2578caf75bfedd13ed3b3b0659ab21d4c4f4f9abc6d6004e86eab9291a16b37
- X = first 52 bits / 2^52 = 0.8841484001511613
- point = max(1, floor(99 / (1 − X)) / 100) = 8.54×
Questions
- What do I paste to verify a Shuffle Crash round?
- The round's game hash and the public client seed (the Bitcoin block hash on Shuffle's Crash fairness page). There is no per-player seed pair for Crash.
- What RTP does Shuffle publish for Crash?
- 99%, a house edge of 1%, as published by Shuffle and checked 2026-09-23. The 99 in the numerator. With 100 the game would return exactly 100% over time; each point of the numerator below 100 is a point of edge.
- Why can't I verify a Crash round with my own seeds?
- Because there are none. Crash is one shared round for everyone, so it is made verifiable by committing to the whole chain of game hashes in advance rather than by a per-player seed pair.
- What do I paste into the verifier?
- The game hash shown for the round and the public client seed (the Bitcoin block hash) from the operator's fairness page. The verifier recomputes the crash point from those two values.
Next
- Verify any Shuffle bet: where the seeds are, all seven games.
- Stake Crash verifier: same construction, separate operator.
- Shuffle Keno verifier
- Shuffle Roulette verifier
- Chance of reaching a target multiplier
- Shuffle in the casino directory
last reviewed 2026-09-27 · derivation as implemented in @craze/fairness