- Winners
- Ten distinct wallets are drawn each window. The prize pool is split into ten equal shares.
- Who can win
- Wallets holding at least the minimum balance (250,000 eGEN) for the full window, excluding contracts, the pool, burn and treasury addresses.
- Fair odds
- Each wallet gets tickets in proportion to its eligible balance, multiplied by its staking and streak multipliers up to ×4 combined. A wallet can win at most once per draw.
- Draw timing
- A window lasts 7 days. The ticket list is frozen at the end of the window and drawing starts within 1 hour.
- Payout
- Winners are paid in ETH directly by the game contract in the same transaction as the draw result. No claim step.
- Proof
- The ticket list root, the randomness request ID and the random word are published. Anyone can recompute the winners.
- Age and participation
- A wallet must have held for at least 3 days before the window opens. Freshly funded wallets cannot enter that window.
- Ticket list construction
- Snapshots are taken at the window start and end. The lower of the two balances counts. Staked balance is read from the staking contract.
- Randomness
- Chainlink VRF v2.5. If the callback does not arrive within 24 hours, the window is cancelled and the pool rolls over.
- Funding
- Funded from the games share of fees plus any direct donations. With the games share at 0% the pool only holds donations.
- Prize cap
- A window pays at most 5% of the pool-eligible treasury ETH. The remainder rolls over.
- Gas limits
- Paying ten winners is capped at 900,000 gas. If the cap would be exceeded, payouts are batched across a second transaction.
- Short lists
- If fewer than ten eligible wallets exist, all of them win and the remaining prize rolls over.
- Unclaimed prizes
- If a payout fails (for example a reverting wallet), that share is added back to the next window’s pool.