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.

Provably Fair

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.

Crash only
Certified RNG

Outcomes from crypto.randomInt() — a cryptographically secure generator. Fairness is guaranteed by independent auditors, not per-round player verification.

All other 22 games

Crash — Provably Fair

Verifiable
Server seed

A 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.

Client seed

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.

Nonce

An auto-incrementing counter. Every round with the same seed pair produces a unique crash point because the nonce advances.

Crash point algorithm

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) / 100

rtpFactor 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.

How to verify any Crash round
  1. In Settings → Provably Fair, rotate to a new server seed. This reveals the previous seed.
  2. Copy the revealed server seed, your client seed, and the round nonce (visible in bet history).
  3. Compute SHA-256(server_seed) and confirm it matches the hash that was published before the round.
  4. 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.

Dice / Limbo

A uniform draw in [0, 100) is compared to your chosen target and direction. Limbo maps the same range to a multiplier curve.

Mines

Fisher-Yates shuffle places N mines across the 5×5 grid; you reveal tiles until you cash out or hit a mine.

Plinko

Each peg row is a Bernoulli coin flip (left or right). The sequence of flips determines which bucket the ball lands in.

Dragon Tower

One safe tile per row is drawn uniformly; all other tiles are traps. The session continues until you pick wrong or cash out.

Hi-Lo

A virtual 52-card deck is shuffled; cards are dealt in sequence. Each guess payout is the inverse probability of the correct direction.

Coinflip

Uniform 50/50 draw per flip. The multiplier is compounded over consecutive correct flips with the house edge applied each step.

Wheel

A uniform draw over the total segment weight selects the landed segment. More segments of the same colour = higher landing probability.

Roulette

Uniform draw over 15 pockets (13 red/black + 1 green + 1 gold). Colour and number are derived from a fixed mapping.

Sic Bo

Three independent dice rolls from [1, 6]; payouts follow the standard Sic Bo bet matrix.

Baccarat

Six-deck shoe dealt per Punto-Banco rules; natural stand on 8–9, draw on 0–5 according to the third-card rule.

Keno

Partial Fisher-Yates selects 10 unique numbers from the 1–40 pool; payout depends on how many match your picks.

Andar Bahar

Cards are dealt alternately to two piles until a card matching the joker appears; payout favours the correct pile.

Comet Race

Each comet advances by a random step each tick; final positions are drawn at round-end from independent uniform distributions.

Diamonds / Pump / Cups

Hidden items are placed uniformly; successive correct picks multiply the payout, with the house edge factored into each step.

Cases / Scratch / Pirate

Prize pool is shuffled uniformly; reveals are drawn without replacement until the round ends or you cash out.

Slots

Each reel stops on an independently drawn symbol; weighted symbol tables set per-reel hit frequencies.

Bomb Square

Bombs are placed by uniform sampling without replacement; safe squares accumulate the multiplier until a bomb is hit.