EV × stake in expectation (v1: EV = 0.85). What differs is the shape of the payout distribution.
Pick your mode
Strike — binary
Pick a stakeB and a multiple M (as multipleBps). You win W = M × B or lose the stake.
Formulas
EV × B expected payout. The multiple you can pick is capped live by effectiveMaxMultiplierBps, which shrinks from 100× toward 2× as bankroll liability fills up.
Range — bounded always-payout
Pick a stakeB, a floor P_min, and a ceiling P_max. Settlement always pays something in [P_min, P_max].
Formulas
P = P_min + (P_max − P_min) × U^α, where U is uniform from the bet’s entropy and α is solved so the mean lands on EV × B. It is not binned — discrete buckets belong to Ladder.
Ladder — multi-bucket
Pick a stakeB and up to 16 mutually exclusive buckets: payouts[i] (USDG payout if bucket i hits) and massWad[i] (probability mass in WAD, 1e18 = 100%).
Formulas
u = entropy % WAD and pays the first bucket whose cumulative mass covers u. The contract enforces the EV identity exactly in integer math — invalid mass sums, zero-mass buckets, or EV mismatches revert InvalidOdds. See Bet constraints for how clients snap float probabilities onto the identity.
Ladder is the general-purpose mode: a classic dice or wheel game is just a Ladder with the right buckets.
Onward
- Bet constraints — the gates each place call must pass
- Placing bets — building the actual call args