Provably Fair & Certified RNG
IronLuck uses a two-tier fairness system: Crash is player-verifiable via a committed seed, all other games use an audited cryptographic RNG.
Fairness architecture
IronLuck runs two parallel fairness models. Crash is provably fair — the outcome is computed from a server seed that was cryptographically committed before betting opened, so you can independently verify any round yourself. Every other game uses certified RNG — outcomes drawn from Node.js crypto.randomInt(), a CSPRNG audited by iTech Labs and backed by our Curaçao eGaming licence.
Seed hash published before the round. You can hash the revealed seed yourself and verify it matches — the server could not have changed it mid-round.
Outcomes from crypto.randomInt() — a cryptographically secure generator. Fairness is guaranteed by independent auditors, not per-round player verification.
Crash — Provably Fair
VerifiableA secret random string generated by the server before the round opens. Its SHA-256 hash is broadcast as a public commitment — proof that the seed exists before any bets are placed.
A value you control (auto-generated, editable in Settings → Provably Fair). Combined with the server seed so the server alone cannot know the outcome in advance.
An auto-incrementing counter. Every round with the same seed pair produces a unique crash point because the nonce advances.
The three values are concatenated as serverSeed:clientSeed:nonce and processed through a custom hash to produce a 32-bit integer h. A uniform float r = (h mod 1000000) / 1000000 drives the multiplier curve:
h = FNV-1a-variant(serverSeed + ":" + clientSeed + ":" + nonce)
r = (h mod 1,000,000) / 1,000,000
basePoint = max(1.01, min(100000, 1 / (1 − r)))
crashPoint = round(basePoint × rtpFactor × 100) / 100rtpFactor is the operator-configured RTP multiplier. You can verify the base crash point (before this factor) using the verifier in the sidebar — it proves the seed commitment was honest.
- In Settings → Provably Fair, rotate to a new server seed. This reveals the previous seed.
- Copy the revealed server seed, your client seed, and the round nonce (visible in bet history).
- Compute
SHA-256(server_seed)and confirm it matches the hash that was published before the round. - Paste all three values into the verifier on this page to reconstruct the base crash point.
Certified RNG games
All 22 non-crash games draw outcomes from crypto.randomInt() — the cryptographically secure RNG built into Node.js, seeded by OS-level entropy. Fairness is certified by iTech Labs under licence CEG-2024-IL-0042.
A uniform draw in [0, 100) is compared to your chosen target and direction. Limbo maps the same range to a multiplier curve.
Fisher-Yates shuffle places N mines across the 5×5 grid; you reveal tiles until you cash out or hit a mine.
Each peg row is a Bernoulli coin flip (left or right). The sequence of flips determines which bucket the ball lands in.
One safe tile per row is drawn uniformly; all other tiles are traps. The session continues until you pick wrong or cash out.
A virtual 52-card deck is shuffled; cards are dealt in sequence. Each guess payout is the inverse probability of the correct direction.
Uniform 50/50 draw per flip. The multiplier is compounded over consecutive correct flips with the house edge applied each step.
A uniform draw over the total segment weight selects the landed segment. More segments of the same colour = higher landing probability.
Uniform draw over 15 pockets (13 red/black + 1 green + 1 gold). Colour and number are derived from a fixed mapping.
Three independent dice rolls from [1, 6]; payouts follow the standard Sic Bo bet matrix.
Six-deck shoe dealt per Punto-Banco rules; natural stand on 8–9, draw on 0–5 according to the third-card rule.
Partial Fisher-Yates selects 10 unique numbers from the 1–40 pool; payout depends on how many match your picks.
Cards are dealt alternately to two piles until a card matching the joker appears; payout favours the correct pile.
Each comet advances by a random step each tick; final positions are drawn at round-end from independent uniform distributions.
Hidden items are placed uniformly; successive correct picks multiply the payout, with the house edge factored into each step.
Prize pool is shuffled uniformly; reveals are drawn without replacement until the round ends or you cash out.
Each reel stops on an independently drawn symbol; weighted symbol tables set per-reel hit frequencies.
Bombs are placed by uniform sampling without replacement; safe squares accumulate the multiplier until a bomb is hit.