Provably fair

You don't have to trust us about the outcome of a round — you can check it. Every crash point is committed to before betting opens and published afterwards, so the arithmetic is yours to verify.

1

Commit

Before the betting window opens, the server generates a random secret — the server seed — and publishes SHA-256 of it. The hash gives nothing away, but only one seed can produce it.

2

Play

Bets are placed and the round runs. The outcome can no longer be changed: finding a different seed with the same hash isn't computationally feasible.

3

Reveal

After the crash, the seed itself is published. Hash it, compare, and recompute the crash point. If both match, the round was sealed before you bet.

Verify a round

This runs entirely in your browser using the Web Crypto API — nothing is sent anywhere. Paste any round's seed and hash, or pick one from the list below.

Recent rounds

Every finished round with its revealed seed. Click one to load it into the verifier.

Loading…

The exact formula

This is the whole computation — the same code the server runs, and the same one the verifier above runs in your browser. Copy it and check a round somewhere we can't influence.

const { createHash, createHmac } = require("crypto");

const serverSeed = "PASTE_REVEALED_SEED";
const seedHash   = "PASTE_PUBLISHED_HASH";

// 1. The commitment: does the revealed seed hash to what was published?
const ok = createHash("sha256").update(serverSeed).digest("hex") === seedHash;
console.log("hash matches:", ok);

// 2. The outcome: derive the crash point from the seed.
const hmac  = createHmac("sha256", serverSeed).update(`${seedHash}:0`).digest("hex");
const bits  = parseInt(hmac.slice(0, 13), 16);      // 52 bits
const u     = (bits + 1) / 2 ** 52;                 // uniform in (0, 1]
const crash = Math.floor(Math.min(Math.max(1, 0.98 / u), 1000) * 100) / 100;
console.log("crash point:", crash);

The 0.98 is the house edge — a 2% shave off the survival probability, giving P(crash ≥ m) = 0.98/m. The 52 bits are the full mantissa of a double, so the uniform draw uses every bit representable exactly. Flooring to two decimals means the number on screen is exactly the number that settles your bet.

What this proves — and what it doesn't

Provable fairness is a strong but narrow guarantee. It proves the crash point was fixed before any bet was placed and can't have been changed in response to what people wagered.

It does not prove anything about withdrawals, solvency, or uptime. It does not remove the house edge — this is a provably fair game that is provably 2% in the house's favour. And it only means something if someone actually checks; an unverified hash is just a long string.

One more thing worth stating plainly: Solacrash runs shared rounds, so a round has one crash point for everyone and there is no per-player client seed to choose. The round's own published hash is used as that input instead. The commitment is equally binding, but you should know the difference from per-player games rather than assume they work identically.

Common questions

+What does provably fair mean?

The server commits to each round's outcome by publishing a SHA-256 hash of a secret seed before betting opens, then reveals the seed afterwards. Anyone can hash the revealed seed, compare it to the published hash, and recompute the crash point — proving the result was fixed before any bet was placed.

+How do I verify a Solacrash round?

Every finished round publishes its server seed and the hash committed beforehand. Hash the seed with SHA-256 and check it matches, then derive the crash point with HMAC-SHA256 using the seed as key. The verifier on the fairness page does both checks in your browser, and the same computation runs in about ten lines of Node.

+Can Solacrash change a round after I bet?

No. The seed hash is published before the betting window opens. Changing the outcome afterwards would require finding a different seed producing the same SHA-256 hash, which is computationally infeasible. Any mismatch is publicly detectable by any player.

+What is the house edge on Solacrash?

2%. The survival probability at multiplier m is 0.98/m, which means expected return is 98% of the amount wagered at every cash-out target. No cash-out strategy changes that — only the variance changes.

+Why can't I choose my own client seed?

Solacrash runs shared rounds — every player rides the same plane, so a round has exactly one crash point. A per-player client seed can't apply when there is only one outcome. The round's own published seed hash is used as the client seed input instead, and the commitment is equally binding because the hash is published before betting opens.

Want the longer version? Read the full explainer.