How to Verify a Crash Game Result Yourself
By TopCrashGames Team
Learn how to verify a crash game result yourself using server seeds, client seeds, and SHA-256 hashing. A step-by-step advanced guide with a worked example.
If you’ve ever watched a crash game bust at 1.01x and wondered whether the outcome was genuinely random, you’re not alone. The good news is that you don’t have to take the casino’s word for it. Provably fair technology lets you verify a crash game result independently, using nothing more than a hash calculator and the data the platform is required to show you. This guide walks through the full process at an advanced level — from understanding the cryptographic commitment scheme to running the actual calculation yourself.
By the end, you’ll know exactly what a server seed, client seed, and nonce are, how they combine to produce a crash point, and how to confirm that no one tampered with the outcome after your bet was placed. We’ll also look at a concrete worked example using the Bustabit v2 formula — one of the most widely referenced open-source implementations in the industry.
What Provably Fair Actually Means (and What It Doesn’t)
Provably fair is not the same as a standard RNG certification. A traditional RNG operates as a black box: a third-party lab audits the algorithm and issues a certificate, and you trust that process. Provably fair adds a cryptographic layer on top of randomness that lets you — the player — reproduce the result calculation independently after every single round.
The key mechanism is a cryptographic commitment. Before a round begins, the casino commits to a server seed by publishing its SHA-256 hash. Because SHA-256 is a one-way function, the casino cannot reverse-engineer a different seed that produces the same hash. When the round ends, the casino reveals the original seed. You can then hash it yourself and confirm it matches what was published. If it does, the seed was locked in before you bet.
What provably fair does not guarantee is that the house edge is fair, that the RTP is accurately stated, or that the platform is licensed and solvent. It only proves that a specific round’s outcome was derived from seeds that were committed to in advance and not altered afterward.
The Three Inputs: Server Seed, Client Seed, and Nonce
Every provably fair crash game result is derived from three pieces of data. Understanding each one is essential before you attempt to verify a crash game result yourself.
Server Seed
A long random string generated by the casino before the round. The casino hashes it with SHA-256 and shows you the hash — a 64-character hexadecimal string — before play begins. The raw seed is only revealed after the round (or after you rotate your seed pair). This is the casino’s cryptographic commitment: they cannot change the seed without the hash changing too.
Client Seed
A string you contribute to the calculation. Most platforms auto-generate one in your browser, but you can replace it with any string you choose. Changing your client seed before a round ensures the casino could not have pre-calculated the outcome with your specific input, because they didn’t know what you would enter. This is your contribution to the randomness.
Nonce
An integer that increments by one with each bet you place on the same seed pair. The nonce means every round produces a unique hash even when the server seed and client seed stay the same. On platforms like Stake, the nonce is visible in the Provably Fair settings panel next to each historical bet.
The combination of these three inputs — processed through a deterministic hashing function — produces the crash point. Because the function is deterministic, anyone who has the same three inputs and the same formula will always get the same output.
Step 1 — Confirm the Server Seed Wasn’t Changed
This is the most important step, and it must be done before you do any crash point calculation. If the server seed was swapped after your bet, nothing else matters.
- Before the round: Open the Provably Fair widget (usually a shield icon or a “Fairness” tab inside the game interface). Copy the hashed server seed — a 64-character hex string. Save it somewhere: a text file, a note, a screenshot.
- After the round: The platform reveals the raw server seed. Copy it.
- Hash it yourself: Go to an independent SHA-256 calculator — search “SHA-256 generator” and use any tool that is not hosted by the casino. Paste the revealed server seed and generate the hash.
- Compare: The hash you just generated must be identical, character for character, to the hash you saved before the round. If they match, the server seed was not altered. If they don’t match, the casino changed the seed after seeing your bet — that is manipulation.
This single check is the foundation of the entire system. Everything else builds on it.
Step 2 — Recalculate the Crash Point Using the Published Formula
Once you’ve confirmed the server seed is legitimate, you can recalculate the crash point. Every provably fair platform publishes its formula — typically in a “Provably Fair” documentation page or within the game’s fairness settings. The formulas differ between platforms, but the general pattern is always: combine seeds → hash → extract a number → apply the crash point formula.
The most widely documented open-source implementation is the Bustabit v2 formula, which has been adopted or adapted by many crash games. Here is the algorithm:
// Bustabit v2 crash point calculation
hmac = HMAC_SHA256(key=clientSeed, message=gameHash)
r = parseInt(hmac.slice(0, 13), 16) // extract 52 bits
X = r / 2^52
result = Math.max(1, Math.floor(99 / (1 - X)) / 100)
// Special case: 1-in-101 chance of instant bust (house edge check)
Breaking this down:
- HMAC_SHA256 is applied with the client seed as the key and the game hash (derived from the server seed) as the message. This produces a 64-character hex string.
- The first 13 hex characters are extracted and converted to a decimal integer, giving a 52-bit number.
- That integer is divided by 252 to produce a float X between 0 and 1.
- The crash point formula
99 / (1 - X)maps that float to a multiplier. TheMath.max(1, ...)ensures the minimum result is 1.00x. - The 1-in-101 divisibility check introduces the house edge: if the game hash is divisible by 101, the round busts instantly at 1.00x regardless of the formula output.
Worked Example
Suppose after a round you have the following values (these are illustrative generic values to demonstrate the process):
- Revealed server seed:
a3f8c2...(64 hex chars) - Client seed:
myCustomSeed42 - Nonce:
17
- Concatenate server seed + nonce:
a3f8c2...:17and hash with SHA-256 to get the game hash. - Run HMAC_SHA256 with client seed as key and game hash as message.
- Take the first 13 hex characters of the HMAC output, convert to decimal integer r.
- Calculate X = r / 4,503,599,627,370,496 (which is 252).
- Calculate crash point =
Math.max(1, Math.floor(99 / (1 - X)) / 100). - Check divisibility: if the game hash integer is divisible by 101, the result is 1.00x (instant bust).
If your calculated crash point matches the one displayed in the game history, the round was fair. A mismatch means the platform used different inputs than the ones it showed you.
You can perform these calculations using Node.js, Python’s hmac library, or any environment that supports HMAC-SHA256. Third-party tools like the verifier at provablyfair.org also let you paste in your values and run the calculation without writing code.
How to Access the Data on Specific Platforms
The verification process is universal, but where you find the data varies by platform.
Stake
Click the shield icon inside any Stake game to open the Provably Fair settings. You’ll see the hashed server seed (shown before play), the revealed server seed (visible after you rotate your seed pair), your current client seed, and the nonce for each individual bet. Stake’s system increments the nonce per bet, so each round on the same seed pair has a unique nonce. The verification steps are identical to those described above.
Bustabit / Chain-Based Games
Bustabit uses a hash chain rather than a per-player seed pair. Each game’s hash is derived from the previous game’s hash, all the way back to a published terminal hash. To verify the chain is intact, take any game hash and apply SHA-256 — the result should equal the hash of the previous game. You can walk the chain back as far as you like to confirm no game was inserted or removed. Bustabit also provides a StackBlitz verification tool directly on its site.
Flush and Similar Platforms
Flush Originals games include a Fairness button within the game interface. After playing, you can open the menu and view the client seed used, the server seed hash and post-round reveal, and the nonce for the exact round. You can plug these values into any third-party hash verifier or use Flush’s built-in tool to recalculate the crash multiplier and confirm it matches the displayed result.
Aviator and Similar Multiplayer Crash Games
Aviator follows the same general pattern. Open the Provably Fair widget (shield icon or Fairness tab), copy the hashed server seed before the round, note the crash point and nonce after the round, then verify the server seed hash and recalculate the crash point using the platform’s published formula. The process described in this guide applies directly.
If you play Aviatrix, the platform similarly exposes seed and nonce data through its fairness interface — the same three-step verification applies.
Using Independent Tools (and Why That Matters)
A critical detail that players often overlook: always use an independent tool to perform your hash calculations, not the casino’s own built-in verifier. A casino-hosted verification tool could theoretically be coded to always return a “match” regardless of the actual inputs. This would defeat the entire purpose of the check.
Recommended independent options:
- Command line (Node.js or Python): The most trustworthy option. You control the code entirely. A five-line Node.js script using the built-in
cryptomodule is sufficient. - provablyfair.org verifier: An independent third-party tool that supports multiple game types and uses open-source logic to simulate the calculation.
- Any reputable online SHA-256 / HMAC-SHA256 calculator: Search for tools hosted on established developer utility sites. Cross-reference two different tools if you want extra confidence.
The principle is simple: if you can reproduce the result using your own tools with the inputs the casino provided, the round was fair. If you can’t reproduce it, or if the casino refuses to provide the inputs, that is a serious red flag.
Common Mistakes When Verifying Results
Even technically confident players make errors that produce false mismatches. Here are the most frequent pitfalls:
- Wrong input order or delimiter: Some platforms concatenate seeds with a colon (
serverSeed:clientSeed:nonce), others use a different separator or order. Always follow the platform’s exact documented formula, not a generic one. - Forgetting to rotate seeds to reveal the server seed: On most platforms, the raw server seed is only revealed when you rotate to a new seed pair. If you haven’t rotated, you’ll only see the hash, not the seed itself. Rotate after the session you want to verify.
- Using the wrong nonce: If you placed multiple bets in a session, each has a different nonce. Make sure you’re using the nonce that corresponds to the specific round you’re verifying, not the current nonce.
- Encoding issues: Ensure your inputs are treated as UTF-8 strings, not accidentally re-encoded. Copy-paste directly from the platform interface rather than retyping.
- Confusing game hash with server seed: On chain-based systems like Bustabit, the “game hash” is derived from the server seed, not the seed itself. Read the platform’s documentation carefully to understand which value feeds into which step.
What a Mismatch Actually Tells You
If your independently calculated hash does not match the hash the casino published before the round, there are two possibilities: you made a calculation error, or the casino altered the server seed after your bet was placed. Before concluding manipulation, methodically check every step — input order, delimiter, encoding, nonce value. Repeat the calculation using a second independent tool.
If the mismatch persists after careful re-checking, document everything: screenshots of the hashed server seed before the round, the revealed server seed, your nonce, and your independent calculation output. This is the evidence you would need to raise a formal dispute with the platform or report to a relevant licensing authority.
It’s worth noting that a provably fair system only covers the randomness of the outcome. It does not prevent a platform from running a game with an undisclosed house edge, withholding withdrawals, or other forms of misconduct. Provably fair verification is one layer of protection, not a complete guarantee of operator integrity.
Provably Fair vs. RNG: A Quick Comparison
For context, here’s how the two systems differ in practice:
- Standard RNG: Outcomes are random, but the process is a black box. You trust a certification lab’s audit. You cannot verify individual rounds yourself.
- Provably Fair: Outcomes are also random, but the cryptographic commitment scheme lets you verify each round independently. Trust is replaced by mathematics.
Neither system is inherently superior for every player. RNG-certified games from regulated providers carry their own forms of accountability through licensing bodies. Provably fair is particularly valuable in crypto-native environments where traditional licensing oversight may be limited — it gives players a direct verification mechanism that doesn’t depend on trusting a regulator or a lab.
If you’re exploring newer crash titles that combine provably fair mechanics with innovative features, Pigaboom is worth noting as the first crash game to introduce a Bonus Buy mechanic — a sign that the genre continues to evolve beyond its original format.
Conclusion: Verification Is a Habit, Not a One-Off Check
The ability to verify a crash game result independently is one of the most powerful tools available to an informed player. It takes less than five minutes once you know the process, and it transforms your relationship with the platform from one of blind trust to one of cryptographic certainty.
The core workflow is always the same: save the hashed server seed before the round, collect the revealed server seed and nonce after, hash the seed independently to confirm it wasn’t changed, then recalculate the crash point using the platform’s published formula and your own tools. Match means fair. Mismatch means investigate further.
Make it a habit — especially after unusual outcomes. The more players who actively verify results, the stronger the accountability pressure on operators to maintain genuine provably fair systems.
Ready to put this into practice? Browse our full list of provably fair crash games and check which platforms publish their full seed documentation before you play.