OPDUEL

Fairness

OPDuel Originals

Limbo

Plinko

Keno

Roulette

Mines

Blackjack

Roll

Dice

Provably Fair Roulette

OPDuel Roulette uses a European wheel with 37 pockets - numbers 0 through 36. The algorithm generates a single random number that determines where the ball lands.

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: Scale to roulette range (0-36)
const result = Math.floor(float * 37);

How It Works

  1. Combine seeds - Your client seed, nonce, and round (always 0) form the message
  2. Generate hash - HMAC-SHA256 produces 32 deterministic bytes
  3. Extract float - First 4 bytes become a number between 0 and 1
  4. Scale to wheel - Multiply by 37 and floor to get a number from 0 to 36

Each number has exactly a 1/37 (2.70%) chance of being selected.

Number Colors

European roulette follows a specific color pattern:

ColorNumbers
Green0
Red1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36
Black2, 4, 6, 8, 10, 11, 13, 15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35

Note: The colors don’t simply alternate. The pattern follows the physical European roulette wheel layout.

Bet Types and Payouts

Bet TypePayoutCovers
Straight (single number)36x (35:1)1 number
Split18x (17:1)2 numbers
Street12x (11:1)3 numbers
Corner9x (8:1)4 numbers
Line6x (5:1)6 numbers
Column / Dozen3x (2:1)12 numbers
Red / Black2x (1:1)18 numbers
Odd / Even2x (1:1)18 numbers
1-18 / 19-362x (1:1)18 numbers

Example

Given these inputs:

  • Server Seed: c5e7146c5863d7d647c93ffe7d4ec13fffbb7311108fab0c067d97bcc2b32d55
  • Client Seed: LuckyClientSeed777
  • Nonce: 5

The hash produces bytes: [109, 117, 110, 25] (hex: 6d 75 6e 19)

float = 109/256 + 117/256² + 110/256³ + 25/256⁴
      = 0.4257813 + 0.001785 + 0.0000065 + 0.0000000006
      = 0.4275730907

result = floor(0.4275730907 × 37)
       = floor(15.820204)
       = 15

The ball lands on 15 Black.

Verify your bets by selecting the "My Bets" tab at the bottom of the page while playing, then click on the bet you want to verify. For older bets, find them in your Bet History.

    CashierHomeGamesChat





    OPDUEL