
One number per row sends the ball left or right. The slot it lands in is the count of rights, and each slot has a fixed multiplier.
We choose our server seed before you bet and show its fingerprint. This commits us to that seed.
Your seeds send the ball left or right at each row. The landing slot determines the payout.
Rotate your seed to reveal ours. Use both seeds and the bet number to recheck any past result.
export function resolvePlinkoFromFloats(floats: number[], config: PlinkoBetConfig): PlinkoOutcome {
const path = Array.from({ length: config.rows }, (_, index) => ((floats[index] ?? 0) < 0.5 ? 'left' : 'right')) as Array<'left' | 'right'>;
const slotIndex = path.filter((direction) => direction === 'right').length;
const multiplierScaled = numberToScaled(getPlinkoPaytable(config)[slotIndex] ?? 0, 4, 'plinkoMultiplier');
return {
| Slot | Chance | Pays |
|---|---|---|
| 1 | 0.39% | 5.6× |
| 2 | 3.13% | 2.1× |
| 3 | 10.94% | 1.1× |
| 4 | 21.88% | 1× |
| 5 | 27.34% | 0.5× |
| 6 | 21.88% | 1× |
| 7 | 10.94% | 1.1× |
| 8 | 3.13% | 2.1× |
| 9 | 0.39% | 5.6× |
Theoretical RTP: 98.91–99.16%.
Each row is an even left or right, so slot k of n rows has chance:
P(k) = C(n, k) / 2^nReturn is the sum over slots of chance times that slot's multiplier.
RTP = Σ P(k) × pays(k)Reproduce these results with the inputs below.