Prize Distribution
How winners are selected and prizes are distributed in Gaambl Lotto games
Winner Selection Process
Winners are selected using a provably fair process with Fisher-Yates shuffle and exponential decay curve distribution.
Fisher-Yates Shuffle
All players are shuffled using the entropy random number to ensure fair, unpredictable winner selection.
Winner Count Calculation
Number of winners is calculated based on the risk mode percentage of total players.
Prize Calculation Formula
Prize distribution uses an exponential decay curve that favors early winners with larger prizes. The formula ensures provably fair distribution while creating exciting winner-takes-most scenarios.
Prize Pool Breakdown
- • Total pool = sum of all entry fees
- • Platform fee = 2% of total pool
- • Prize pool = total pool - platform fee
- • Winners get 98% of the total pool
Mathematical Formula
position = (i × 1,000,000) ÷ winnersCount
decayFactor = (curveFactor × position) ÷ 1,000,000
weight = ((1,000,000 - decayFactor)²) ÷ 1,000,000
prize = (prizePool × weight) ÷ totalWeight
Where:
- •
i= winner position (0, 1, 2, ...) - •
curveFactor= risk mode multiplier (300,000 to 1,000,000) - •
winnersCount= number of winners based on risk mode - •
prizePool= total pool minus 2% platform fee
Interactive Prize Calculator
Use the calculator below to see exact prize distributions for any game configuration. This uses the same formula as the smart contract, so you'll get accurate results for any scenario.
Interactive Prize Calculator
Calculate exact prize distributions using the smart contract formula
Game Parameters
Prize Distribution
Winner Payouts
Risk Analysis
Claiming Prizes
Winners must manually claim their prizes after the game is completed.
Claim Function
function claimPrize(uint256 gameId) externalClaim Process
- • Prizes are reserved in contract until claimed
- • Winners must call claimPrize() to receive their winnings
- • Prizes are transferred in the same token as the entry fee
- • Gas-optimized O(1) prize tracking and removal