Provably Fair in Crash Games: How to Verify Seeds, Hashes, and Results

Provably fair explained

Quick answer: Provably Fair is a verification model, not a single crash-game algorithm. A valid check normally has two parts: first, confirm that the operator did not change a committed seed or hash-chain value; second, reproduce the displayed result with the exact inputs and formula documented for that game. Matching only the pre-round hash verifies the commitment, but it does not by itself prove that the displayed multiplier was calculated correctly.

Crash games ask players to trust a result they cannot see in advance. Provably Fair systems reduce that trust requirement by publishing cryptographic evidence before a result is disclosed and enough data afterward to check the calculation. The important word is check: the system should let a player reproduce a completed result rather than merely accept a casino label or a green “verified” message.

The implementation is not universal. Spribe documents a server seed, player-generated seeds, a combined seed, and SHA-512 for its games. Stake Crash points to a separate salt-hash seeding model built around a long SHA-256 chain and a future Bitcoin block hash. BC.Game Crash publishes another hash-chain method, while the current Bustabit verifier uses chain-specific HMAC inputs and 52-bit multiplier math. These systems share a commitment-and-verification idea, but their seeds, byte handling, formulas, and interfaces are not interchangeable.

Do not use a generic recipe for every platform. A calculation can be cryptographically correct and still produce the wrong result if it uses the wrong algorithm version, key/message order, character encoding, digest segment, rounding rule, or house-edge mapping.

Content Show

What Provably Fair Actually Proves

A cryptographic hash is a fixed-length digest of an input. NIST describes secure hash algorithms as tools for generating message digests that can be used to detect whether the underlying message has changed. A hash is not encryption: there is no decryption key that turns a SHA-256 digest back into the original seed.

In a commitment-and-reveal system, the operator first publishes a hash of hidden data. Later, it reveals the original data. Anyone can hash the revealed value and compare it with the earlier commitment. A match shows that the revealed value is consistent with the commitment; changing even a small part of the input would normally produce a different digest.

That check is necessary, but it is only one layer. The game must also document how its inputs become the displayed multiplier. Some systems use SHA-256 directly, some use HMAC-SHA256, and Spribe publicly describes SHA-512 for its combined seed. HMAC is a keyed construction: the key and message have different roles, so reversing them changes the output.

Check 1: Commitment

Does the revealed seed, game hash, or chain value reproduce the commitment that was available before the relevant result was disclosed?

SHA256(revealed value) = earlier commitment

Check 2: Outcome

Do the disclosed inputs, exact algorithm, and rounding rules reproduce the multiplier or other result shown in the completed round?

documentedAlgorithm(inputs) = displayed result

When both checks succeed, the available evidence supports two conclusions: the committed data was not silently replaced after commitment, and the disclosed calculation reproduces the recorded result. It does not prove every broader claim about the casino, the quality of its random inputs, or the safety of player funds.

Why There Is No Universal Set of Three Seeds

Many single-player casino games use a server seed, a client seed, and a nonce. That model is common, but the original version of this page incorrectly presented it as the architecture of every Provably Fair crash game. Multiplayer crash systems often use hash chains, external salts, multiple player inputs, or other provider-specific structures instead.

ArchitectureTypical inputsWhat is committedWhat the player verifies
Server seed + client seed + nonceHidden server seed, player seed, bet counter, sometimes a cursorHash of the active server seedSeed commitment and the game-specific output calculation after seed rotation
Reverse hash chainGame hash from a pre-generated chain, sometimes combined with an external saltTerminating chain hash or another published chain anchorRelationship between consecutive hashes and the multiplier derived from each game hash
Multiplayer combined-seed modelOperator seed plus one or more player-generated seedsHash of the operator seed before the roundRevealed seed data, combined hash, and provider-specific round result
Precomputed result + secretHidden result, secret value, and a client seed applied according to game rulesHash of the precomputed dataCommitment, disclosed data, and final result transformation

The correct verification procedure therefore starts by identifying the exact implementation. Do not assume that a Stake Originals formula for a single-player game applies to Stake Crash, or that a Bustabit formula reproduces Aviator because both games display a rising multiplier.

Publicly Documented Crash-Game Verification Models

Game or platformPublicly documented modelWhat can be checkedImportant limitation
Aviator / SpribeHashed server seed before the round; player-generated client seeds; combined seed hashed with SHA-512Spribe says game history exposes the server seed, player seeds, combined hash, and resultSpribe's public page says each game uses different result mathematics and does not publish a standalone Aviator multiplier formula there
Stake CrashSalt-hash model; published seeding event used 10 million SHA-256 chain values and Bitcoin block 584,500 as an external inputHash-chain continuity, HMAC input, 32-bit extraction, and the published crash-point formulaThis is different from the standard per-player seed, nonce, and cursor flow used by many other Stake Originals
BC.Game CrashTen-million-value reverse hash chain with each hash mapped to a multiplierChain continuity and the published 52-bit conversion exampleThe exact current verifier and chain generation must be used; a generic seed-and-nonce calculator is not equivalent
Bustabit v2Verifiable hash chain; HMAC-SHA256 with a chain-specific salt or signature; 52-bit multiplier mappingCurrent and previous chains through the open-source verifierHistorical tutorials may use a different instant-bust rule and should not be treated as the current v2 implementation
BGaming Provably Fair titlesHash of a precomputed Result + Secret, followed by a player client seed and post-round disclosureThe commitment and the game-specific transformation documented in the provider's widgetThe method varies by game type and should not be substituted for another provider's crash algorithm

Step-by-Step: How to Verify a Completed Round Correctly

The following workflow applies across architectures, but the data fields and formulas must come from the relevant provider documentation or open-source verifier.

1

Identify the game, provider, and algorithm version

Record the exact game and platform. Find its official fairness documentation, verifier, seeding event, or published source code. A formula with no named implementation and no version is not enough.

2

Capture the pre-round commitment

Save the hashed server seed, next-server-seed hash, terminating chain hash, or other commitment before the relevant hidden value is revealed. Include the round ID and timestamp where possible. Without evidence of what was committed beforehand, a later hash match has less evidential value.

3

Save the post-round inputs

After the round, collect every disclosed input required by that implementation: server seed or game hash, player seeds or external salt, nonce, round number, chain generation, signature, displayed multiplier, and any algorithm-version identifier.

4

Reproduce the commitment with exact encoding

Hash the revealed value exactly as documented. “Hash the seed” can mean UTF-8 text, raw hexadecimal bytes, or the hexadecimal representation of previous bytes. Those inputs are not equivalent. Confirm whether letter case, separators, prefixes, and line endings are significant.

5

Reproduce the round result

Run the documented hash or HMAC calculation, select the specified bits, and apply the correct multiplier mapping, flooring, minimum, cap, and house-edge rule. Compare the unrounded and displayed values where the interface rounds the output.

6

Interpret a mismatch carefully

A mismatch is evidence that something in the reproduction does not match the recorded system. Before alleging manipulation, recheck input order, HMAC key versus message, text versus hexadecimal bytes, nonce and cursor values, chain generation, formula version, and rounding. If the exact official process still fails, preserve screenshots and raw values for further investigation.

A strong verification record contains: the pre-round commitment, round ID, disclosed inputs, provider documentation or source-code version, the calculation output, and the displayed result. A screenshot of a built-in “fair” badge alone is weak evidence.

How to Verify Aviator by Spribe

Spribe's public Provably Fair page describes a model in which the operator generates a random server seed and publishes its hashed version before the round. Player client seeds are generated on the player side. At round start, Spribe combines the server seed with player seeds and hashes the combined seed with SHA-512.

The same official page says that the hashed version of the next round's server seed is available in the Provably Fair settings, where the player can also change a client seed. After a completed round, the game-history fairness window exposes the server seed, player seeds, combined hash, and result.

The safe verification procedure is therefore:

  1. Open Aviator's Provably Fair settings and record the next-server-seed SHA-256 commitment before the round.
  2. Save the round ID and displayed multiplier.
  3. Open the completed round in game history and collect the server seed, listed player seeds, combined hash, and result.
  4. Confirm that the revealed server seed matches the earlier commitment using the exact input format shown by Spribe.
  5. Compare the combined hash and result with the values shown in the round record.

Do not insert another provider's multiplier formula. Spribe states that each game uses different mathematics to convert the SHA-512 output into a result. Its public Provably Fair page does not provide a universal standalone formula that turns any SHA-256 or SHA-512 string into an Aviator multiplier.

The previous version of this article claimed that Aviator always uses exactly the first three players' seeds and that the result “does not exist” until those three players bet. Spribe's public page confirms player-generated seeds and SHA-512 combination but does not support that exact three-player statement, so it has been removed.

How to Verify Stake Crash

Stake's current Game Events documentation directs Crash users to its BitcoinTalk seeding thread and calls the model salt-hash based. The published 2019 seeding event generated a chain of 10 million SHA-256 hashes. Each chain value was created by hashing the hexadecimal representation of the previous value, and the final chain hash was published before play.

The event also specified Bitcoin block 584,500 as a future external input. Once mined, its block hash was used with each game hash in HMAC-SHA256. The published calculation then reads the first 8 hexadecimal characters and maps that 32-bit integer to the crash point.

For Stake Crash, verification is not the same as entering a personal client seed and nonce into the standard Stake Originals calculator. The relevant checks are:

  1. Confirm that a revealed game hash links forward to the previously published chain value using the documented hexadecimal representation.
  2. Use the documented Bitcoin block hash as the HMAC message and the game hash as the HMAC key.
  3. Extract the first 8 hexadecimal characters and apply Stake's published Crash formula.
  4. Compare the result with the recorded round, accounting for the platform's display precision.

The complete numerical formula and a worked example are covered in the Crash Game Algorithm Guide. Keeping the formula there avoids turning this trust-model page into a duplicate technical reference.

How to Verify BC.Game Crash

BC.Game's official white paper describes a verifiable chain of 10 million hashes, released in reverse order, with each hash corresponding to one Crash multiplier. Its published example reads the first 13 hexadecimal characters, representing 52 bits, normalizes that integer, and applies an inverse mapping with a 1.00× minimum.

A BC.Game Crash check should establish both chain continuity and outcome reproduction. Verify the relevant hash against its neighboring committed chain value, then run the current official conversion procedure for that hash. Do not use a generic serverSeed:clientSeed:nonce calculation unless BC.Game's current Crash documentation explicitly specifies it for the chain being checked.

Because the provider can update documentation or verifier code, record the source version or access date with any audit. A result that matches an old copied formula but not the current official verifier is not a successful verification of the current implementation.

How to Verify Bustabit v2

Bustabit publishes an open-source verifier. Its current multiplier function calculates HMAC-SHA256 using a chain-specific salt or signature and the game hash, extracts the most significant 52 bits, converts them into a value between 0 and 1, and maps that value to a multiplier.

The verifier also distinguishes current and previous hash chains and handles them differently when stepping through the chain. This is why copying only the multiplier formula is insufficient for a complete historical audit. Use the official verifier version that corresponds to the round and chain generation being checked.

Historical-code note: Many older tutorials describe a divisible(hash, 101) instant-bust rule as “the Bustabit formula.” That rule is not present in the current official Bustabit v2 multiplier function. It belongs to older or different crash implementations.

Why a Generic Online SHA Calculator Is Often Not Enough

A basic SHA calculator can confirm a simple commitment when the provider hashes a text seed directly. It cannot automatically reproduce a full crash result. HMAC requires a key and a message, while many crash implementations also require exact byte interpretation and a separate multiplier formula.

Common mistakeWhy it changes the result
Using SHA-256 instead of HMAC-SHA256HMAC is a keyed construction, not ordinary concatenation followed by hashing
Swapping HMAC key and messageThe two fields have different roles and produce a different digest when reversed
Hashing hexadecimal text instead of hexadecimal bytesThe character string ab12 is not the same byte sequence as 0xab 0x12
Adding separators or spacesEvery character changes the digest; a:b, ab, and a|b are different inputs
Using the wrong nonce, cursor, or round numberThe same seeds intentionally generate different outputs when counters change
Rounding instead of flooringA result such as 1.709 can display as 1.70× or 1.71× depending on the documented rule

An independent check is strongest when it uses inspectable code or a reproducible local script. A provider's built-in verifier is still useful for obtaining the official inputs and expected result, but a second implementation provides better evidence than trusting the same interface that produced the round.

Are Provably Fair Crash Rounds Independent?

The answer depends on what “independent” means. In a hash chain, consecutive hidden chain values are mathematically related: hashing one value produces the next committed value. They are therefore not unrelated objects in a strict structural sense.

However, a secure hash function is designed so that a revealed hash does not provide a practical method for recovering its unrevealed preimage. Past displayed multipliers should not provide usable information about the next unrevealed multiplier when the seeds have sufficient entropy and the implementation is correct. A streak of low or high crash points does not reveal the missing secret input.

This is the relevant conclusion for players: chart patterns do not become a prediction signal merely because the system is Provably Fair. Prediction would require leaked inputs, weak seed generation, an implementation defect, or compromised infrastructure. It does not follow from ordinary round history.

Provably Fair vs Certified RNG

Provably Fair

Primary evidence: commitments, disclosed inputs, and reproducible calculations.

Player check: a completed round can be tested against the published method when sufficient data is exposed.

Main limitation: verification is only as complete as the disclosed inputs, algorithm, and implementation.

Certified RNG or Live Randomness

Primary evidence: testing, certification, regulatory controls, equipment procedures, or audited software.

Player check: individual outcomes are not usually reproducible from public seed data.

Main limitation: players rely more heavily on laboratories, regulators, and operator controls.

The categories are not mutually exclusive. A provider can use cryptographic verification alongside certified random-number generation or other tested systems. Conversely, a Provably Fair label does not replace licensing, security controls, game testing, or responsible handling of player balances.

Can a Provably Fair Game Still Have a House Edge?

Yes. Provably Fair and house edge answer different questions. Verification asks whether the committed inputs and published result mapping were used consistently. House edge describes the long-run expected return created by that mapping.

A crash formula can be fully reproducible while deliberately returning less than the fair-odds payout. The edge may appear as an RTP factor, a reduced numerator, an instant-loss interval, a payout table, a maximum multiplier, or another documented rule. Verifying the calculation confirms that the rule was followed; it does not make the rule favorable to the player.

For provider RTP values and expected-loss calculations, use the Crash Game RTP and House Edge Guide. The present page focuses on evidence and verification rather than comparing payout percentages.

What Provably Fair Does Not Guarantee

It does not remove the house edge

A correctly verified game can still have a negative expected value for the player. Provably Fair checks whether the disclosed procedure was followed; it does not make the payout distribution favorable.

It does not prove the advertised RTP by itself

One verified round says nothing about long-run return. Even many reproduced rounds do not prove the theoretical RTP unless the full mapping, caps, instant-bust rules, and configuration are known and analyzed.

It does not prove that the initial secret was selected fairly

A commitment shows that hidden data was not changed after commitment. It does not automatically prove that the operator generated that hidden data without bias. Player inputs, future external salts, secure randomness, and auditable procedures can reduce this concern.

It does not audit the entire software stack

A published formula may be correct while the production system contains bugs, data-display problems, or undocumented behavior. Open-source verification code and external testing improve confidence but do not make implementation risk disappear.

It does not protect deposits or withdrawals

Game-result verification does not establish that an operator is solvent, secure, licensed for a player's jurisdiction, or willing to process a withdrawal. Those are separate operational and regulatory questions.

Red Flags in a Provably Fair Claim

  • No pre-result commitment: the platform reveals seeds after a round but provides no evidence of what was committed before the hidden value became useful.
  • No raw verification data: the interface shows a green badge but does not expose the seed, game hash, round ID, nonce, external salt, or other required inputs.
  • No documented result mapping: the commitment can be checked, but there is no reproducible explanation of how the digest becomes the displayed multiplier.
  • No implementation or version identifier: the provider changes verifier logic without recording which rules apply to historical rounds.
  • Only a closed verifier with no exportable inputs: the user cannot reproduce the result outside the same system that generated it.
  • Marketing claims exceed the evidence: phrases such as “100% impossible to manipulate” are used without explaining assumptions, implementation limits, or what the check does not cover.

Frequently Asked Questions

What does Provably Fair mean?

It means the game exposes cryptographic data that can be used to check a completed outcome. A strong verification confirms both the earlier commitment and the provider-specific calculation that produced the displayed result.

Is a hash an encrypted result?

No. A cryptographic hash is a one-way message digest, not encrypted text. The operator later reveals the original seed or chain value, and the player hashes it again to test whether it matches the earlier commitment.

Can a casino still cheat in a Provably Fair game?

Provably Fair makes certain forms of post-commitment alteration detectable when the system is correctly implemented and the user has complete data. It does not rule out weak seeds, implementation defects, misleading documentation, compromised infrastructure, or misconduct unrelated to the result calculation.

Does a matching server-seed hash prove the multiplier is correct?

No. It proves that the revealed seed matches the earlier commitment. You must separately reproduce the result with the correct client inputs, HMAC or hash construction, number extraction, multiplier formula, and rounding rules.

Can I verify Aviator with any SHA-256 calculator?

A SHA-256 calculation can be relevant to the server-seed commitment shown by Spribe, but the full round system also uses player seeds, a combined seed, SHA-512, and game-specific result mathematics. A generic SHA-256-to-multiplier calculator does not reproduce Aviator.

Does Provably Fair prove the advertised RTP?

Not by itself. It can prove that disclosed inputs reproduce particular outcomes. Verifying RTP requires the complete result distribution, all game parameters, rounding, caps, instant-loss rules, and enough evidence that the published implementation matches production.

Can Provably Fair predictors forecast the next crash point?

Not from public round history or a visible commitment alone. A valid advance prediction would require information that should still be hidden, such as leaked seeds, or exploitation of a weak implementation. A tool that only recognizes chart patterns is not performing cryptographic prediction.

Primary Sources

Last implementation review: July 23, 2026. Provider documentation, verifier code, chain generations, and interfaces can change. Save the source version or access date when auditing a specific historical round.

Related Guides

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top