Fairness
Limbo
Plinko
Keno
Roulette
Mines
Blackjack
Roll
Dice
Limbo
Set a target multiplier and the game instantly reveals a crash point. Hit your target or higher and you win - fall short and you lose. Limbo runs at 96% RTP, meaning roughly 4% of rounds crash instantly at 1.00x.
Verify Game Fairness
The Algorithm
// Step 1: Generate hash
const message = `${clientSeed}:${nonce}:0`;
const hash = HMAC_SHA256(serverSeed, message);
// Step 2: Extract float from first 4 bytes
const bytes = hash.slice(0, 4);
let float = 0;
for (let i = 0; i < 4; i++) {
float += bytes[i] / Math.pow(256, i + 1);
}
// Step 3: Calculate crash point using inverse transform
const RTP = 0.96;
const rawCrash = RTP / float;
// Step 4: Floor to 2 decimals, minimum 1.00
const result = Math.max(1.00, Math.floor(rawCrash * 100) / 100);How It Works
- Generate float - Combine seeds into a hash and extract a random float between 0 and 1
- Inverse transform - Divide the RTP (0.96) by the float. This creates a distribution where:
- Small floats → High multipliers (rare)
- Large floats → Low multipliers (common)
- Float ≥ 0.96 → Crash ≤ 1.00 (instant crash)
- Apply floor and minimum - The raw crash is floored to 2 decimal places, with a minimum of 1.00x
The Math Behind It
The crash point formula 0.96 / float creates a specific probability distribution:
- 4% chance of instant crash (1.00x) - when float ≥ 0.96
- 48% chance of 2x or higher - when float < 0.48
- 9.6% chance of 10x or higher - when float < 0.096
- 0.96% chance of 100x or higher - when float < 0.0096
This gives the house a 4% edge, which is the difference between 100% and the 96% RTP.
Example
Given these inputs:
- Server Seed:
c5e7146c5863d7d647c93ffe7d4ec13fffbb7311108fab0c067d97bcc2b32d55 - Client Seed:
LuckyClientSeed777 - Nonce:
2
The hash produces bytes: [137, 90, 202, 182] (hex: 89 5a ca b6)
float = 137/256 + 90/256² + 202/256³ + 182/256⁴
= 0.5351563 + 0.001373 + 0.000012 + 0.000000004
= 0.5365416235
rawCrash = 0.96 / 0.5365416235
= 1.789237
result = floor(1.789237 × 100) / 100
= floor(178.9237) / 100
= 178 / 100
= 1.78The crash point is 1.78x.
For an instant crash scenario (float ≥ 0.96):
float = 0.97
rawCrash = 0.96 / 0.97 = 0.989...
result = max(1.00, floor(0.989 × 100) / 100)
= max(1.00, 0.98)
= 1.00The crash point is 1.00x (instant crash).

