The report in 30 seconds
Gamdom says 99%.
Crash returns 98% at 2×.
The formula gives 98.33% expected return at 1.5×, 98% at 2× and 97.21% at 10×. If you played Crash since January 2026, you faced worse odds than advertised.
Not provably fair
as implemented.
Gamdom uses a Bitcoin hash known since 2015, so it could theoretically calculate and compare candidate chains before choosing one. The chain changed between 9 and 26 October. We found no public seeding evidence for either chain, or notice of the switch.
What happens when you play
In Crash, a multiplier climbs until the round ends. Cash out in time and you win your stake times that multiplier; otherwise you lose the bet. Gamdom says Crash returns 99%, a 1% house edge, and 100% on your first $5,000 a day under Zero Edge.
Its own code pays less. At 2×, a 99% game should win 49.5% of the time; Gamdom's wins 49%, a 98% return. The higher your target, the wider the gap, up to a 2.98% house edge. Zero Edge's 1% rakeback lifts 98% to 99%, not 100%. On 99,119 real bets we recorded over 44 hours, players faced about $1.12 of extra expected cost per $100 wagered: an estimated $1.58M from January to October.
All 5,821 rounds we replayed follow that code. What's missing is proof the results were fixed before anyone bet. We couldn't establish that the original chain's commitment was public before play. Between 9 and 26 October, Gamdom switched Crash to a new chain with no notice, and we found no commitment for it. Both chains use a Bitcoin hash that has been public since 2015, so a chain's results could be worked out before it was chosen. Players can verify each result, but not that the sequence was chosen fairly.
- Stated vs calculated return at 2×
- 99% → 98%
- Real edge on players’ bets, stated 1%
- ≈2.12%
- Zero Edge at 2×, measured on 101 bets
- 100% → 99%
- New-chain rounds, no commitment found
- 16,346
What Gamdom states, and what Crash returns
Gamdom states that Crash returns 99%, a 1% house edge. Its game configuration says the same. But the code it publishes for Crash returns less at every cash-out target. The higher your target, the lower the return.
“…then 99% thereafter, giving a house edge of 1% beyond the Zero Edge limit.”Gamdom Crash page · FAQ ↗
View original screenshot

The formula gives an expected return of $98 per $100 wagered at 2×, instead of $99. At 10×, it gives $97.21. These are averages calculated from the code; an individual session can return much more or less.
No cash-out target reaches 99%.
Select your cash-out target
2.00% house edge · $10.00 extra per $1,000 wagered
Expected return · vertical scale starts at 96.5%.
Published claims, formula and full return tableFormula, full return table and reconstructed rounds
Why the return falls below 99%
The separate 1% instant-crash rule already supplies a 1% house edge. The h/50 subtraction then lowers the other crash points, adding an extra edge that grows with your target.
Gamdom’s published formula
Non-instant crash point · before rounding
(e − h/50) ÷ (e − h)The h/50 term reduces crash points a second time.
Higher targets make the extra edge larger.
One possible correction
Non-instant crash point · before rounding
e ÷ (e − h)Remove h/50. Keep the 1% instant-crash rule.
Expected return stays at 99% as the target changes.
h is a number taken from the round’s hash; e = 2⁵². Both versions round the crash point down to two decimals.
At 2×: 97.02% × 2 ÷ 1.98 = 98%.
The 99% correction assumes uniform hashes and uncapped payouts at two-decimal targets above 1×. Rewards are separate. The commitment and seeding failures in section 04 still need their own fix.
Source: Gamdom’s published Crash verifier ↗The captured game configuration declares rtp: 99 and house_edge: 1. It matches across September, seven logged-in reads on 8 October and the 9 October capture.
For a two-decimal target x above 1, RTP(x) = 0.99 × 0.98 × x / (x − 0.02). The instant-bust rule takes 1%; a second reduction in the multiplier formula lowers the return further. This assumes uniform HMAC output and excludes payout caps.
How the formula produces the return
Let u = h/e. The current non-instant crash point is (1 − u/50)/(1 − u). For a target x above 1, it reaches x when u ≥ (x − 1)/(x − 0.02). With uniform hashes, that gives a reach probability of approximately 0.99 × 0.98/(x − 0.02), including the separate instant-crash rule. Multiply by the target payout x to get the return.
Remove h/50 and the non-instant formula becomes 1/(1 − u). Its reach probability is 1/x. With the 1% instant-crash rule, that becomes 0.99/x, so x × 0.99/x = 0.99: a 99% expected return.
Proposed change · keep the existing instant-crash rule
const e = 2 ** 52;
const result =
Math.floor(100 * e / (e - h)) / 100;
return result.toFixed(2);Rounding and precision: for a two-decimal target x, rounding the crash point down to two decimals doesn’t change whether it reaches x, so the corrected formula returns 99% at every target (METHOD.md, section 1).
This is a proposed correction, not a change Gamdom has made. It assumes the full target multiplier is paid.
All 99,900 tested targets from 1.01× to 1,000× return below 99%. The exact target-boundary check and an independent 60-million-hash simulation agree with the curve.
We also reconstructed 57,428 rounds between 19 September and 9 October from the chain linked to the published commitment. At every tested target, their realised return is within two standard errors of the formula’s curve. These were reconstructed, not individually observed, rounds.
Files in the evidence pack
claims/game-config/claims/INDEX.mdverifier/sandbox-4nl2fc/math.jsresults/rtp-curve.csvresults/rtp-derivation-check.jsonresults/rtp-montecarlo.jsonresults/realised-curve.csv
| Target | Game RTP | House edge |
|---|---|---|
| 1.01× | 98.98% | 1.02% |
| 1.1× | 98.82% | 1.18% |
| 1.2× | 98.66% | 1.34% |
| 1.5× | 98.33% | 1.67% |
| 2× | 98.00% | 2.00% |
| 3× | 97.67% | 2.33% |
| 5× | 97.41% | 2.59% |
| 10× | 97.21% | 2.79% |
| 20× | 97.12% | 2.88% |
| 50× | 97.06% | 2.94% |
| 100× | 97.04% | 2.96% |
| 1000× | 97.02% | 2.98% |
57,428 reconstructed rounds: realised return versus formula
Reconstructed outcomes fall within two standard errors of the formula at each tested target.
| Target | Observed return | Code return | ±2 SE · pts |
|---|---|---|---|
| 1.01× | 99.09% | 98.98% | ±0.12 |
| 1.1× | 98.90% | 98.82% | ±0.28 |
| 1.2× | 98.79% | 98.66% | ±0.38 |
| 1.5× | 98.36% | 98.33% | ±0.59 |
| 2× | 97.48% | 98.00% | ±0.83 |
| 3× | 97.65% | 97.67% | ±1.17 |
| 5× | 97.84% | 97.41% | ±1.65 |
| 10× | 96.99% | 97.21% | ±2.47 |
What it costs players
At the stated 99%, $1,000 wagered has an expected cost of $10. At 2×, Gamdom’s formula makes that $20; at 10×, $27.86. These are averages across winning and losing bets, so the expected cost grows with total wagering.
At 2×, the expected cost doubles.
A winning 2× bet still pays twice your stake. The problem is that it wins less often than a 99% game should. That is why the effect reaches players who win as well as those who lose.
Am I affected?
If you played Crash on Gamdom since January, yes. Gamdom’s own verifier covers Crash results from 2 January 2026, and every cash-out target returns less than 99%. The higher your target, the more it cost you, win or lose.
| Your targetTarget | Game return | Extra expected cost per $1,000Extra / $1k |
|---|---|---|
| 1.5× | 98.33% | $6.69 |
| 2× | 98.00% | $10.00 |
| 5× | 97.41% | $15.90 |
| 10× | 97.21% | $17.86 |
| 50× | 97.06% | $19.41 |
| 100× | 97.04% | $19.61 |
| 1,000× | 97.02% | $19.78 |
We’re asking Gamdom to review affected bets and refund them. A fair method: each stake times the gap between 99% and the return at its cash-out target. Gamdom has every stake and target on record, so it can calculate this exactly.
Contact Gamdom support ↗
How the player-cost examples are calculatedPer-bet calculation and compensation assumptions
Extra expected cost per bet = stake × (99% − RTP at the cash-out target). Equivalently: stake × 1.98% × (1 − 0.98 ÷ (target − 0.02)). At 2×, that is $10 per $1,000 wagered.
For a manual cash-out that won, use the multiplier at which it cashed out. A lost manual bet has no observed final cash-out target in the public feed; the player’s intended strategy cannot be recovered from that record alone.
The figures compare expected returns, not an individual refund entitlement or a claim that a particular losing round should have won. Caps, rounding and other account rewards require separate review.
Files in the evidence pack
METHOD.mdresults/rtp-curve.csvresults/balance-reconciliation.csv
My bet lost by a hair. Would a 99% game have paid me?
Not necessarily. A correct 99% game need not produce the same result for any single round. Different correct formulas can settle that round differently.
What changed is the odds. At 1.5×, the win probability is about 0.45 percentage points lower, roughly one bet in 224. Across all those bets, that difference is 0.67% of the stake. Our proposed compensation method spreads that expected cost across affected bets instead of guessing which individual losses should become wins.
Estimating the cost across all players
We recorded nearly every public Crash bet for 44 hours from 26 to 28 October: 99,119 bets from 925 players, with $850,279 wagered. Reconstructing the target mix from winning cash-outs gives a 97.88% expected return: a 2.12% house edge, or an extra 1.12% of wagering beyond the stated 1%.
From recorded bets to daily player cost.
The same feed supplies both the cash-out mix and the wagering rate.
The mix is estimated by weighting winning stakes by the inverse of their chance of winning. Figures are rounded here; calculations use the exact capture duration and unrounded values. Expected cost is not the players’ realised loss.
The 44 hours ran at $466,117 of Crash wagering a day, an extra expected cost of $5,215 a day. Gamdom numbers every Crash bet, and those numbers put the 44 hours at 97% of the average pace from 21 September to 28 October. If that pace, target mix and formula held from 2 January to 31 October, the central scenario is $1.58 million.
About $1.35M–$1.96M.
Our central scenario is $1.58M.
An estimate from 44 hours of bets. Gamdom's records would give the exact figure.
How the estimate was builtWagering inputs, scenarios and historical assumptions
We recorded nearly every bet in Gamdom's public Crash feed from 26 October, 19:19 UTC, to 28 October, 15:06 UTC: 5,381 rounds, 99,119 bets from 925 players, $850,279 wagered. Gamdom numbers every Crash bet, and the recording holds 99,119 of the 99,143 bets numbered in that time.
The feed reveals the cash-out only for winning bets. We estimate the target mix by weighting each winning stake by the inverse of its chance of winning. That reconstructed mix gives a 97.881% expected return, 1.119 percentage points below the stated 99% (95% range 1.005 to 1.246 points). Counting the losing bets too, whose targets sat above their round's crash point, gives 1.120. Two shorter recordings, on 21 September and 8 October, give 0.94 and 1.15 points.
That is $9,514 of extra expected cost in 44 hours. Per day, the window ran at $466,117 of Crash wagering and $5,215 of extra expected cost. It covers every hour of the day, most of them twice. Gamdom's bet numbers put it at 97% of the average bet rate from 21 September to 28 October.
The low case uses 27 October, the one full day in the window ($442,320 wagered), at the low end of the edge range: $1,346,883 over 303 days. The central case is $1,580,281. The high case uses the faster bet rate of 21 September to 8 October, at the high end of the edge range: $1,961,655.
The period starts on 2 January 2026: Gamdom's verifier says it covers Crash results from that date. The extrapolation assumes late October's pace held across the period. Gamdom's bet numbers cover only the five weeks from 21 September, and the 10 largest players made 53% of the 44 hours' wagering, so seasonality and how often high rollers play could move the total.
These are scenarios, not confidence bounds. They measure the expected cost of worse odds, not what the sampled players happened to win or lose. Gamdom should publish the relevant history so the report can replace assumptions with a complete total.
Files in the evidence pack
data/feed-2026-09-21.csvdata/feed-2026-10-08.csvdata/feed-2026-10-26.csvdata/bet-ids.jsonscripts/damage-estimate.mjsresults/damage-estimate.jsonverifier/sandbox-4nl2fc-metadata.json
Does Zero Edge close the gap?
Gamdom promotes 100% RTP on the first $5,000 wagered each day, paid as instant rakeback. On our Unranked account, rakeback was a flat 1% at every target tested, win or lose. That would lift a 99% game to 100%. Crash is not a 99% game.
We placed 101 bets of $1 on 8 October, all inside the daily allowance, and earned $1.01 in instant rakeback. At 2×, that lifts the expected return from 98% to 99%; at 10×, from 97.21% to 98.21%. Neither reaches 100%.
ZERO EDGE · GAME RETURN + INSTANT REBATE
Does the rebate reach 100%?
Select a cash-out target
- Game return
- 98.00%
- Rebate
- +1.00%
- Combined
- 99.00%
$1.00 short per $100 wagered
At 2×: about $99.00 returned per $100 wagered, including the measured rebate.
Game return is calculated. The 1% instant rebate was measured on one Unranked account: 101 bets of $1, within the daily allowance.
After October’s monthly reward period closed, we checked the test account on 1 November. It still showed only $1.01 in instant rakeback, with no weekly or monthly reward listed. We found no later reward that covered the remaining gap on this account. The RTP shortfall stands: at 2×, the 1% instant rebate raises the formula’s expected return from 98% to 99%, not the promised 100%.
After the monthly cycle: no later reward listed

BEFORE PUBLICATION
We waited for the reward cycle to close.
19 SEP
Claims captured
Return claims, verifier and commitment recorded.
8–9 OCT
Live test completed
Results, 101 bets and $1.01 instant rakeback checked.
26–28 OCT
44 hours of bets recorded
99,119 bets. All 5,381 rounds are already on a new chain.
31 OCT
Different chain found
17 live rounds fail to reach the published commitment.
1 NOV
Monthly period closed
No weekly or monthly reward listed on the test account.
Bet-by-bet reward checks and the later rewards panel101 test bets, rebate records and account limits
The four batches contained 25 bets at 1.5×, 25 at 2×, 26 at 5× and 25 at 10×. Every batch earned 1% of the amount staked. One hundred bets have an individual reward read; the remaining bet is covered by its batch total. All six balance intervals reconcile.
The daily Originals counter rose from zero to $101, so the entire session was within the first $5,000. The account was Unranked. Other tiers, targets and wagering above the allowance were not measured.
On 1 November, after the October monthly period closed, the rewards endpoint listed only 1,516 coins of instant rakeback ($1.01). Active rewards and other reward lists were empty. The screen also showed weekly and monthly as “Not available yet”.
The weekly reward for the session’s own week, ending 12 October, was checked at the time and showed nothing; that check wasn’t captured. Gamdom publishes no weekly or monthly rates.
FILES IN THE EVIDENCE PACK
data/our-bets-2026-10-08.csvdata/rewards-reads-2026-10-08.csvresults/rakeback-by-batch.csvresults/net-shortfall.csvdata/rewards-2026-11-01/screenshots/rewards-panel-2026-11-01.pngclaims/rewards-guide/
Why Crash is not provably fair as implemented
Both the original and replacement chains fail the provably fair assessment of Gamdom’s published setup. The original commitment’s timing is unproven; no matching replacement commitment was found. Both used an already-known Bitcoin salt, so reproducing results does not prove the sequence was fairly selected.
A commitment hash is a public value that locks in a chain of round hashes. With the formula and salt fixed, it also fixes their crash points. Publishing the commitment before play lets players check that later rounds belong to that chain.
Gamdom’s fairness checks
| Player protection | What we found | Status |
|---|---|---|
| Results match the code | 5,821/5,821 original results reproduce. | Verified |
| Rounds link together | 5,817/5,817 checked links match within the sampled chains. | Verified |
| Commitment before play | The 9 October rounds link to the original commitment, but its publication before play is not established. No matching replacement commitment was found. | Not established |
| Protection against advance selection | The Bitcoin salt was known since 2015, allowing candidate results to be compared before use. | Missing |
| Verifiable chain replacement | The chain changed between 9 and 26 October. No replacement commitment or notice was found. | Not found |
These gaps do not establish that Gamdom selected a biased chain. They leave players without proof that the chain was chosen fairly.
The chain change, and what would protect players
THE CHAIN CHANGED · 9–26 OCTOBER 2026
Neither chain proves fair initial selection.
CHECKED THROUGH 9 OCTOBER
Original chain
Connects to the published commitment
423 results reproduce. We could not establish that the commitment was public before this chain began.
26–31 OCTOBER CHECK
Replacement chain
Does not reach the published commitment
5,398 results reproduce. We found no matching replacement commitment or public seeding evidence.
Both use a Bitcoin hash known since 2015. Gamdom could theoretically calculate and compare candidate chains before choosing one, even if it published a commitment before play.
A published hash can bind later rounds to the same chain. It does not establish fair initial selection.
PUBLIC SEEDING EVENT
Commit first. Then use a future Bitcoin block.
Publish the commitment
Publish the chain commitment, length and formula, and name a future Bitcoin block before it is mined.
Wait for the public block hash
Wait until that block is mined and its hash is public. Use that previously unknown hash as the salt.
Only then start the game
Play the committed sequence in order. Reveal each round hash after play so players can reproduce the result and check its link.
Repeat before any replacement
Announce the change and complete a fresh public seeding event before the replacement chain starts. Keep the old proof accessible.
This is one verifiable hash-chain scheme, not the only possible provably fair design. RTP is a separate check: the formula must still deliver the advertised return.
Check the round results and both chainsCaptured rounds, chain links and commitment searches
CHAIN COMMITMENT CHECKS
Original and replacement chains
ORIGINAL CHAIN · 9 OCTOBER
Published commitment reached
Commitment 1d75b6cf… · Starts at game 5,257,547
- Hash steps back to the published commitment
- 6,822,812
- Remaining under the stated 10-million-hash length
- 3,177,188
Timing not established: we have not shown that this commitment was public before the original chain began.
CHAIN CHANGED · 9–26 OCTOBER
No replacement notice found.
REPLACEMENT CHAIN · 26–31 OCTOBER
No matching public commitment found
- Results reproduced
- 5,398 / 5,398
- Hash search
- 10,500,000 steps
- Published commitment
- Not reached
The remaining count assumes the published 10-million-hash length. It does not establish how long Gamdom intended to use the original chain.
The direct captures through 9 October contain 20 and 403 rounds. All 423 results replay and all 421 adjacent links match. The backward walk passes the 422 other September–October hashes and reaches the published value after 6,822,812 SHA-256 steps.
The 17 consecutive live-history rounds captured on 31 October also replay, with 16 matching links. A 10,500,000-hash walk from the newest reaches neither the published commitment nor any round captured through 9 October. On the way it passes all 5,381 rounds we recorded from 26 to 28 October, in order, so those are on the replacement chain too. The 31 October rounds' game IDs and timestamps were not recorded; the 26–28 October rounds have both.
The fairness page states a 10-million-hash chain starting at game 5,257,547. The newest captured round linked to it is game 12,080,359 on 9 October. Under that stated length, 3,177,188 hashes remained. The oldest round we recorded on the replacement chain is game 12,126,744 on 26 October, so the switch came in between. The exact date and the reason remain unknown.
Replacing a chain can be the right call, for example if its secret may have been exposed. Done properly, players are told, and a new commitment and seeding event come before the new chain is used.
FILES IN THE EVIDENCE PACK
results/parity-log.csvresults/chain-check.jsonresults/live-chain-check.jsondata/rounds-2026-10-26.csvdata/rounds-2026-10-31-live.csvdata/rounds-2026-10-31-live.capture.jsonscripts/live-chain-check.mjsclaims/help-fair/
Search scope · 1 November 2026: no replacement commitment or seeding announcement was found in the public fairness material reviewed or targeted public web searches. This does not cover private channels, deleted posts or unindexed notices; it is not an exhaustive search of every help, blog, forum or social page.
FOLLOW-UP · 1 NOVEMBER 2026
The replacement chain is still running.
A round hash copied from Gamdom's verifier on 1 November walks back to the newest 31 October round in 3,294 hashes: the same chain, about a day later. It still doesn't reach the published commitment. From game 12,126,744 on 26 October to this round is 16,346 rounds on the replacement chain.
Read the 1 November verification recordEvidence and calculation details
Source: data/round-2026-11-01-verifier.json · results/live-chain-check.json
Input hash: 339a1cb4cc968289185c1270eb7f97c28736d2fa454bb4db122a9e836a41fb56
Method: SHA-256 the hash repeatedly, as Gamdom’s verifier does, until it matches one of the 31 October rounds: 3,294 steps.
FILES IN THE EVIDENCE PACK
data/round-2026-11-01-verifier.json
The 17 live rounds checked on 31 October link to one another, but a 10.5-million-step search reaches neither the published commitment nor the rounds captured through 9 October. It does pass all 5,381 rounds we recorded from 26 to 28 October, so the chain changed between 9 and 26 October. We found no replacement commitment or seeding notice. Under the help page's stated chain length, about 3.2 million rounds remained on 9 October.
Inspect the salt and the original seeding eventKnown salt, advance-selection risk and seeding examples
The salt in math.js is Bitcoin block 339,300: 000000000000000007a9a31ff7f07463d91af6b5454241d5faf282e5e0fe1b3a. It was mined on 17 January 2015. Bustabit’s corrected commitment was published on 13 January, before that block existed.
Because Gamdom used an already-known salt, outcomes could be calculated before committing a candidate chain. This is missing protection against advance selection. A fresh commitment followed by an independently generated, previously unknown salt would address it.
FILES IN THE EVIDENCE PACK
verifier/sandbox-4nl2fc/math.jsverifier/SOURCE.md
The rounds captured through 9 October connect to Gamdom’s published commitment. This establishes a mathematical link, not when the commitment became public. We could not establish that it was published before the original chain began. Even a commitment published before play would not, by itself, prevent advance selection: the Bitcoin salt was already known, so candidate chains could be evaluated before committing.
Once a round hash is published, it can bind subsequent rounds to the same chain. That protects against later substitution, but does not prove that the operator chose the chain without first comparing its outcomes against other candidates.
The risk: select a favourable run, then replace it
With the salt already known, an operator could generate candidate chains, calculate their crash points and select one whose opening rounds favour the house, for example, fewer outcomes reaching common cash-out targets. It could use that portion, then replace it with another selected chain. Every individual result could still pass the verifier.
A valid replay cannot detect a biased choice of inputs.
A published round hash binds later rounds within the same chain. A replacement breaks that continuity and can be detected by someone monitoring successive hashes; it is not cryptographically invisible. But individual result checks do not rule out advance selection or selective replacement. We observed a chain change, not proof that Gamdom cherry-picked chains or repeatedly replaced them to reduce payouts.
DOCUMENTED EXAMPLE · STAKE CRASH, JULY 2019
The commitment came before the Bitcoin block.
Stake’s 8 July 2019 seeding post published the commitment of a 10-million-hash chain and named Bitcoin block 584,500, which had not yet been mined. The later block hash supplied the salt. This is an example of the required order—not an assessment of every current Stake game.
What the findings establish
Crash returns less than the stated 99%.
98% at 2×; the tested Zero Edge rewards bring that to 99%, not 100%.
Neither chain demonstrates provably fair seeding.
Original: advance publication unproven. Replacement: no matching commitment found. Both used a known salt.
What the evidence supports
Return: the published formula gives 98% at 2× and 97.21% at 10×.
Verification: all 5,821 original results replay and all 5,817 adjacent links match. This does not establish initial seeding.
Player cost: on 99,119 bets recorded over 44 hours, about 1.12% extra expected cost; roughly $1.58M since January by our estimate.
Limits of this investigation
Cause and intent: no evidence establishes biased chain selection or manipulation of a particular round.
History: the initial commitment's publication date, full deployment history and exact chain-switch date (between 9 and 26 October) are not established.
Scope: limited captures and one rewards-test account; complete historical betting records remain with Gamdom.
What Gamdom should do
Confirm the findings and inform players
Acknowledge the RTP shortfall and address the fairness gaps publicly. Notify affected players about the period covered, the fixes and how refunds will be calculated.
Fix the return or advertise the real edge
Make Crash return the advertised 99% on average at every cash-out target, or clearly show the real edge at each target. Removing the h/50 term is the formula correction shown in section 01.
Refund the extra edge
Refund the extra edge on every Crash bet since this formula went live, using Gamdom’s complete betting records to calculate the amounts.
Restart with a public seeding event
Publish the hash-chain commitment and formula, and name a future Bitcoin block. Wait until that block is mined and its hash is public, then use it as the salt before restarting play. Repeat this process for every replacement chain. A commitment published now cannot retroactively prove when the current chain was chosen.
Scope and unanswered questionsWhat the evidence establishes, and what remains unknown
The findings cover published code and claims, rounds captured from 19 September to 31 October 2026, and rewards read on 8 October and 1 November. The player-cost estimate uses 99,119 public bets from 925 players over 44 hours on 26–28 October: $850,279 wagered across 5,381 rounds. Earlier betting windows are cross-checks. The reward test covers one Unranked account, $1 stakes and four targets within the daily allowance.
The cost figure is an expected-cost estimate, not a measured total. We do not establish continuous deployment since January, total historical volume, intent, rewards on other accounts or the exact chain-switch date. Gamdom’s complete records would resolve those questions.
FILES IN THE EVIDENCE PACK
README.md
METHOD.md
results/damage-estimate.jsonWhat players can do
Check the return at your cash-out target using the full return table. Higher targets have lower expected returns.
Keep stakes, targets, round IDs and reward records. Ask Gamdom support to review your Crash betting history and explain how any shortfall will be addressed.
A matching result is not proof of initial seeding. Ask for the dated commitment and seeding evidence for the chain used by your rounds.
Contact Gamdom supportRun the investigation yourself
06 / OPEN DATA & REPRODUCIBLE ANALYSIS
Run the investigation yourself.
Check the returns, rewards, hash links and original commitment searches without placing a bet. A successful reproduction confirms the calculations; it does not repair the missing seeding proof.
Node.js 18+ · no packages or account. Runs offline after download.
COMMAND
$ node scripts/reproduce.mjsREPRODUCED CHECK SUMMARY
- 5,804 / 5,804 captured results match
- 5,801 / 5,801 adjacent hash links match
- Published commitment reached · 19 Sep–9 Oct rounds
- 17 / 17 live results match · 16 / 16 links
- Live commitment not reached in 10,500,000 hashes · 26–28 Oct rounds on that chain
- 101 bets and reward totals reconciled
- 99,119 public bets · 44-hour expected return ≈97.88%
- Jan–Oct expected-cost scenario · central ≈$1.58M
- 103 / 103 evidence file hashes match
- ALL RESULTS REPRODUCED
Reproduction instructions and source filesDownload requirements, commands and expected output
Use Node.js 18 or later. Extract the complete evidence pack, open that folder in a terminal and run node scripts/reproduce.mjs. No packages, account or bets are required. After download, the checks run offline.
Eleven deterministic outputs rebuild byte for byte. The default command also runs a fresh six-million-hash simulation, so those simulated totals vary. Use node scripts/reproduce.mjs --no-mc for only the deterministic checks, or --mc 60000000 to match the shipped simulation size.
The player-cost calculation uses the 26–28 October recording alone: 99,119 bets over 43.78 hours. The reproduction rebuilds the 97.88% expected return and $1.58M central scenario in results/damage-estimate.json. The two shorter recordings and pooled result are retained as cross-checks.
Keep SHA256SUMS and the folder structure intact. The pack contains dated claims, verifier code, raw extracted records and reproducible calculations. Original network captures are held privately for independent review.
- Gamdom Crash claims ↗
- Captured Crash page archive ↗
- Captured fairness-page archive ↗
- Gamdom’s linked verifier ↗
FILES IN THE EVIDENCE PACK
README.md
METHOD.md
scripts/reproduce.mjs
SHA256SUMS
results/rtp-curve.csv
results/realised-curve.csv
results/damage-estimate.json
results/live-chain-check.json
data/feed-2026-09-21.csv
data/feed-2026-10-08.csv
data/feed-2026-10-26.csv
data/rounds-2026-10-26.csv
data/bet-ids.json
data/rewards-2026-11-01/
data/rounds-2026-10-31-live.csv
data/round-2026-11-01-verifier.jsonEVIDENCE PACK CONTENTS
Claims and code
claims/INDEX.md
claims/crash-faq/
claims/game-config/
verifier/sandbox-4nl2fc/Round and chain evidence
data/rounds-2026-09-19.csv
data/rounds-2026-10-08.csv
data/rounds-2026-10-26.csv
data/rounds-2026-10-31-live.csv
results/chain-check.json
results/live-chain-check.json
data/round-2026-11-01-verifier.jsonPlayer cost
data/feed-2026-09-21.csv
data/feed-2026-10-08.csv
data/feed-2026-10-26.csv
data/bet-ids.json
scripts/damage-estimate.mjs
results/damage-estimate.jsonRewards
data/our-bets-2026-10-08.csv
data/rewards-reads-2026-10-08.csv
data/rewards-2026-11-01/
screenshots/rewards-panel-2026-11-01.png
results/net-shortfall.csvEVIDENCE MANIFEST · SHA-256
578c44f6db087298efbfffc0cf0dc5ea5757938d6c64e91e67dc3a9db10058cc
Source data & evidenceDatasets, captured claims and verification scripts
| Dataset | Contents |
|---|---|
| Claims & code | Dated claims, game configuration and the published verifier. |
| Rounds & chain | 5,804 captured rounds; 17 live rounds on 31 October; original and replacement chain checks. |
| Primary betting window | 99,119 bets from 925 players over 43.78 hours on 26–28 October; $850,279 wagered across 5,381 rounds. |
| Earlier cross-checks | 21 September and 8–9 October: extra edges of about 0.94% and 1.15%; pooled cross-check across all three windows: 1.098%. |
| Rewards | 101 test bets, reward reads and balance reconciliation; one tested account. |
| Tooling | README, METHOD, scripts/reproduce.mjs and SHA256SUMS; 103 file hashes. |
| 1 November follow-up | One round hash from Gamdom’s verifier; walks back to the 31 Oct rounds in 3,294 hashes. |
Conclusion
What players should know
Gamdom Originals · Crash
| ASSESSMENT | FINDING | VERDICT |
|---|---|---|
| Stated return: 99% | 98% at 2×; 97.21% at 10× | Lower than stated |
| Cost to players | ≈1.12% extra expected cost; $1.58M Jan–Oct scenario | Estimated |
| Zero Edge: 100% | 99% at 2× with measured instant rakeback | Shortfall remains |
| Results follow the code | 5,804/5,804 captured; 17/17 live | Matches |
| Proof of the chain’s initial commitment and seeding | Original: publication before play unproven. Replacement: no matching commitment found. Both used a known salt. | Missing proof |
INTERPRETATION
Gamdom’s formula gives worse odds than its stated 99% return. Its published setup is not provably fair as implemented, for either chain. The original rounds link to a published commitment, but we could not establish publication before play began. No matching commitment was found for the replacement. The known Bitcoin salt allowed candidate chains to be evaluated before selection. This does not establish that Gamdom manipulated results.
At 2×, the calculated return is 98%; the measured instant rakeback raises it to 99%, not 100%. On the 99,119 bets recorded over 44 hours, the extra edge is about 1.12% of wagering, roughly $1.58 million since January by our estimate. Gamdom should fix its formula or its claims, refund the extra edge bet by bet, and publish a fresh, verifiable seeding event.
SCOPE OF THE FINDINGS
Published code and claims; rounds captured 19 September–31 October 2026; 99,119 public bets over 44 hours on 26–28 October; rewards read on 8 October and 1 November. Earlier betting windows are cross-checks. The cost figure is an estimate. Complete historical records and the exact chain-switch date remain with Gamdom.
ProvablyFair.org · Independent investigation · 1 November 2026