Play, and the pool plays back.
90% of all game revenue flows into the reward pool. Each day a capped share is paid out: 70% to the leaderboard, 30% to 100 random active players. Rewards depend on revenue and are never guaranteed.
The reward pool starts empty and fills from game revenue after launch (90% of every payment). The first daily lottery round is committed the day after the contracts go live.
Daily lottery rounds
The first round is committed on-chain ahead of time; results appear here after the day ends.
Who can win
Entry is free. Every wallet with at least one qualifying game event in the last 7 UTC days is entered automatically: claiming a plot, upgrading, building a shield, launching a mission, a marketplace trade, or defending against an SI attack.
Up to 100 winners per day share the lottery pot equally. Protocol wallets are excluded. Every qualifying on-chain action costs PWSI (and defenses require holding a plot), which makes farming entries with throwaway wallets expensive.
Verifiable draw
- 1 · Before the day starts, the operator commits
keccak256(seed)to the DailyDraw contract. - 2 · After the day ends, the entrant list is fixed on-chain (its hash) and a future L2 block, 10 blocks ahead, is chosen.
- 3 · The seed is revealed; randomness = keccak256(seed, hash of that block, round, entrants). Winners =
drawIndices(randomness, n, 100), a view function anyone can call. - 4 · If a reveal is withheld past the 256-block window, anyone can void the round. It can never be redrawn.
- Limits: Chainlink VRF is not available on Robinhood Chain. This commit-reveal scheme stops the operator from choosing winners after seeing the block, but the operator could still decline to reveal (voiding that day's lottery). The pot then stays in the pool.
Published epochs
Merkle roots on RewardPoolNo epochs yet. The first daily epoch is published shortly after 00:00 UTC.