Page cover

dharmachakraRoulette

European single-zero roulette, fully onchain. Every spin is resolved by a single Chainlink VRF random word.

Roulette

European single-zero roulette, fully onchain. Every spin is resolved by a single Chainlink VRF random word.


How it works

The Overtime Roulette contract implements a European wheel with 37 pockets (0 through 36). When you place a bet, the contract:

  1. Pulls your collateral and validates your selection

  2. Reserves the worst-case payout against the bankroll

  3. Requests a random word from Chainlink VRF

  4. On fulfillment, computes the result as randomWords[0] % 37

  5. Pays out winning bets and transfers them to your wallet immediately

There is no PRNG seed managed by the operator. There is no "house variance adjustment." 0 through 36, uniformly, sourced from a decentralized oracle network.


Bet types and payouts

Bet type
Selection
Payout (profit)
Total return on win

Straight

A single number, 0–36

35 : 1

36× stake

Red / Black

Color

1 : 1

2× stake

Odd / Even

Parity (excluding 0)

1 : 1

2× stake

Low / High

1–18 or 19–36

1 : 1

2× stake

Dozen

1–12, 13–24, or 25–36

2 : 1

3× stake

Column

1st, 2nd or 3rd column

2 : 1

3× stake

A spin of 0 loses every outside bet (Red/Black, Odd/Even, Low/High, Dozen, Column). Only a Straight bet on 0 wins on a zero spin.


Multi-pick bets

You can place up to 10 picks on a single spin, all sharing one Chainlink VRF request. This is the equivalent of dropping multiple chips on the felt before the dealer waves their hand.

For example, in one bet you can stake:

  • 10 USDC on Red

  • 5 USDC on Dozen 1

  • 2 USDC Straight on number 17

When the wheel result is revealed, every pick is evaluated against it. Winning legs are paid, losing legs are not. The contract correctly handles cases where mutually exclusive picks (e.g. Dozen 1 + Dozen 2) appear in the same multi-bet — the bankroll reservation only covers the maximum possible payout across all 37 outcomes, not the sum of all picks.


Limits

Parameter
Value

Minimum bet

3 USD per pick (normalized via Chainlink price feed)

Maximum picks per multi-bet

10

Maximum profit per bet

Set per deployment (maxProfitUsd)

Cancel timeout

30 seconds minimum (in case of VRF stall)

Supported collaterals: USDC, WETH, $OVER.


User guide

1. Log In to Overtime

Visit overtimemarkets.xyz/casino and Log In.

2. Pick the Roulette table

Select Roulette from the casino lobby.

3. Choose your collateral

Switch between USDC, WETH and $OVER from the collateral selector. The minimum-bet floor is enforced in USD, so the equivalent collateral amount adjusts automatically based on the Chainlink price feed.

4. Input your desired buy-in amount per chip

In the Enter amount input field, enter the buy-in amount you want to bet with per chip.

5. Place chips on the table

Click any betting area on the roulette layout: a number for a Straight bet, a color box for Red/Black, the dozen or column markers for outside bets. Each click drops a chip equal to your selected stake amount. You can stack up to 10 picks on a single spin.

6. Spin

Hit Spin.

After the bet is confirmed onchain, your bet enters PENDING while the contract waits for the VRF callback. This typically takes a few seconds.

7. Result

When Chainlink fulfills the randomness, the wheel result is revealed. Winning picks pay out automatically in the same transaction. You can see the resolved bet and the payout in your bet history, and on a block explorer if you want to verify it directly.

Cancelling a stuck bet

If a spin somehow doesn't resolve within the cancel timeout (very rare, but possible if Chainlink fulfillment is delayed), you can cancel the bet from your bet history and recover your full stake. No customer support ticket required.


Free bets

If you have an Overtime free-bet balance, the Roulette interface will offer a "Use free bet" toggle on supported collaterals. Free-bet roulette bets work identically to staked bets — they call placeBetWithFreeBet instead of placeBet, and any winnings are settled through the existing Overtime free-bets infrastructure.

Last updated