Skip to main content
Every mode pays EV × stake in expectation (v1: EV = 0.85). What differs is the shape of the payout distribution.

Pick your mode

Strike - binary

Pick a stake B and a multiple M (as multipleBps). You win W = M × B or lose the stake.
Formulas
Higher multiples mean lower win probability - the product always resolves to 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 stake B, a floor P_min, and a ceiling P_max. Settlement always pays something in [P_min, P_max].
Formulas
The shipped distribution is a continuous power-law: 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 TieredBetter.
“Always wins” ≠ always profits. If your floor P_min is below your stake, many outcomes pay out less than you put in. A Range bet with a non-zero payout on every roll still carries the full 15% house edge.

TieredBetter - multi-bucket

Pick a stake B and up to 64 mutually exclusive buckets: payouts[i] (USDG payout if bucket i hits) and massWad[i] (probability mass in WAD, 1e18 = 100%).
Formulas
Settlement samples 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. TieredBetter is the general-purpose discrete mode: a classic dice or wheel game is just a TieredBetter with the right buckets.

Shuffle - pick seats, entropy permutes

Pick a stake B, N payout rungs (payouts[], max 64), and K distinct seat indexes (pickIndexes[]). Settlement Fisher-Yates-permutes the rungs from the bet’s entropy, then pays the sum of the seats you picked.
Formulas
Every K-seat set has the same expected value because the permutation is uniform. Distinct picks must be in range; N = 0, K = 0, or K > N reverts InvalidOdds.

Onward