Limbo: how the multiplier is derived
How a Stake-scheme Limbo result is computed from one float, why the 0.99 factor in the formula is the house edge, and how often a target is reached.
Disclosure: VerifyRoll is sponsored by Craze, a competitor of the operators whose published RTP appears below. Figures here are computed or taken from what operators publish, dated; nothing is estimated.
How the result is derived
Under the Stake scheme every result starts from HMAC-SHA256(server seed, “clientSeed:nonce:cursor”), read four bytes at a time into floats in [0, 1). Limbo consumes one float.
- Take the first float from HMAC-SHA256(server seed, "clientSeed:nonce:0").
- Compute 100,000,000 ÷ (float × 100,000,000 + 1). Small floats give large values; the +1 stops division by zero and caps the maximum at 100,000,000.
- Multiply by (1 − 0.01). This is where the edge enters: every raw multiplier is scaled down by 1%.
- Floor to two decimals and never go below 1.00.
multiplier = max(1, floor((1e8 / (float × 1e8 + 1)) × 0.99 × 100) / 100)
Payout rule and where the edge comes from
You choose a target before the bet. If the derived multiplier is at least your target, you are paid the target; otherwise you lose the stake.
Because of the 0.99 factor, the chance of reaching a target x is about 0.99 ÷ x, so the expected return at any target is 0.99 per unit staked.
Source of the edge. The edge is the 0.99 factor inside the formula. Without it, the multiplier distribution would return exactly 100% at every target.
Worked example
Computed on the server by the same functions the verifier runs, from the example values the verifier's “Load example values” button uses. These are not seeds from a real round.
- server seed
- 2b4d2f1a7c9e0f3b8a6d5c4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a
- client seed
- verifyroll
- nonce
- 7
- HMAC-SHA256(server seed, “verifyroll:7:0”)81727d41db6b44706ddfd681ab9cd0124cc482392adbbdda8ac8ac626566bf1a
- Float (1): 0.50565322
- float = 0.5056532176677138
- raw = 1e8 / (float × 1e8 + 1) × (1 − 0.01) = 1.957864
- multiplier = max(1, floor(raw × 100) / 100) = 1.95×
Published RTP by operator
| Stake | Shuffle | BC.Game | Craze |
|---|---|---|---|
| 99% | 99% | 99% | — |
Checked 2026-09-23. “—” means not offered or not published. The figure in your game's info panel wins.
Questions
- Is Limbo the same maths as Crash?
- The reach probability is the same shape, 0.99 ÷ target, but the randomness comes from a different place: Limbo uses the per-bet HMAC float, Crash uses a pre-committed hash chain shared by all players in the round.
- Why does the formula add 1 to float × 1e8?
- So the denominator can never be zero when the float is 0, and so the multiplier has a hard ceiling of 100,000,000 rather than infinity.
Next
- Chance of reaching a target (same 0.99/x distribution)
- Verify a Limbo bet of your own, or by operator: Stake Limbo verifier · Shuffle Limbo verifier
- Play Limbo for free on PlinkoLab (play money, same derivation)
- House edge for every game and operator
last reviewed 2026-09-23 · derivation as implemented in @craze/fairness