Fairness
Provably fair, explained: how to check any round yourself
Provably fair means the casino locks in its server seed before you bet and cannot change it afterwards, and you can check every round yourself. Recompute any Originals round in the verifier; it takes a couple of minutes.
How it works: 3 steps
| Step | What happens | Why it cannot be rigged |
|---|---|---|
| 1. Commit | The server generates a server seed and shows you its SHA-256 hash | A hash cannot be fitted to another seed |
| 2. Your input | Your client seed (you can change it) and the nonce, the bet counter, go into the result | The server cannot know in advance which client seed you will pick |
| 3. Reveal | After you rotate the seed pair, the server reveals the old server seed | You check that SHA-256(seed) matches the hash you saw and recompute the results |
X3NA game formulas
Common base: k = the first 4 bytes of HMAC-SHA256 (key: server seed, message: client seed:nonce:0). k is an integer from 0 to 4,294,967,295.
| Game | How k becomes the result |
|---|---|
| Plinko | h = HMAC-SHA256(server seed, "client seed:nonce"); the first 12 bits of h are the ball's path (1 = right); slot = number of 1s; multiplier = that slot's payout |
| Crash | h = SHA-256("server seed:round id"); r = first 16 hex chars of h / 2^64; if r < 0.04 the round busts at 1.00x, otherwise multiplier = 0.96 / (1 − r), capped at 100x |
| Lucky Wheel | h = HMAC-SHA256(server seed, "client seed:nonce"); r = first 13 hex chars of h / 2^52; segment = ⌊r × segments on the wheel⌋; multiplier = that segment's value in the spec order |
| Storm Vault | win if k × multiplier × 100 < 96 × 2³² |
| Dice | number = ⌊k × 10,000 / 2³²⌋ / 100 → 0.00–99.99 |
| Limbo | result = ⌊(96 × 2³² − 1) / k⌋ / 100, never below 1.00× |
| Sugar Strike, Stormcrown | number i = 4 bytes at offset 4·(i mod 8) of HMAC-SHA256(server seed, "client seed:nonce:⌊i/8⌋"); pick = ⌊u × total weight / 2^32⌋, a cell of the weight table (symbol, multiplier, feature); round fingerprint = first 32 hex chars of SHA-256 over the whole round; payout = ⌊bet × total_x100 / 100⌋ |
An example you can check right now
HMAC-SHA256 is a standard function. The number k can be recomputed with any independent HMAC calculator, not only ours.
How this differs from “predictors”
A predictor or “signals” promise to guess the result in advance. That would need the server seed, and before the bet only its hash exists; a seed cannot be recovered from a hash. So any “predictor” is either random guessing or a scam.
FAQ
What is a nonce in provably fair?
The bet counter within one seed pair: 0, 1, 2 and so on. It gives every bet a different result.
How do I check provably fair?
Compare the pre-bet hash with the revealed seed, then recompute the round.
Can a provably fair predictor work?
No. It would need the server seed, and before the bet only its hash exists.
Updated X3NA team18+Play responsibly