Draw Mechanics

How the draw
actually runs.

Every 60 minutes the contract picks one holder and sends them ETH. Here's the step-by-step of what happens inside that hour, and why the odds structure favors small bags and frequent play.

The hour, minute by minute

T+0

New round starts

Draw clock resets. Pot carries 20% over from last round. Holders are already entered. Nothing for anyone to do.

T+0..59

Swaps feed the pot

Every buy or sell pays 10% in ETH. 8% goes to the pot contract. You can watch the pot grow live on BaseScan or on the home page here.

T+60

Draw triggers

Three paths make this happen:

1. Any swap after T+60 triggers it inline.
2. Chainlink Automation calls the contract on the hour.
3. Anyone can call pokeDraw() and earn a 0.1% finder's fee.

T+60 → T+61

Chainlink VRF responds

The coordinator returns a verifiable random number within a few blocks. The contract checks the cryptographic proof onchain. If the proof fails, the number is rejected and the draw stays pending.

Same tx

Winner gets paid

Contract walks its Fenwick tree, finds the holder at the random index, and transfers 80% of the pot to them as ETH. The remaining 20% stays in the pot for next hour.

Why small bags still matter

BASEPOT isn't a raffle where you need a minimum. Any balance gets you proportional odds.

Assume the pot is at 0.5 ETH (~$1,700) with 500 holders and a total tree weight of 100M tokens. Three examples:

Small holder
0.1% per hour
You hold 100k BASEPOT (cost: ~$3 at $0.00003/token). Your odds: 100k / 100M = 0.1%.
If you win: 0.4 ETH (~$1,360). Expected return per draw: $1.36.
Over 24 draws in a day, your expected return is $32 against a $3 position. That's a 450x upside ticket for the price of a coffee.
Medium holder
1% per hour
You hold 1M BASEPOT (cost: ~$30). Your odds: 1M / 100M = 1%.
If you win: 0.4 ETH (~$1,360). Expected return per draw: $13.60.
Over 24 hours your expected daily return is $326 against a $30 position. Hit early and you're up 45x in an hour.
Burn-ticket hunter
~7% next draw
You send $50 USDC through the TicketRouter. It buys 1.5M BASEPOT, burns all of it, credits you with 5x weight (7.5M virtual) for the next draw. Your odds that hour: ~7%. Across the 12 decay draws your average bonus weight is ~3.3M. Net: roughly 25% win probability on a $50 stake over the window. If any one hits: $1,360.
Frequency compounds

BASEPOT pays out 24 times a day. A 1% per-hour chance compounds into a 21.5% chance of winning at least once in 24 hours. A 0.1% per-hour chance compounds to 2.4% per day. The daily and weekly odds add up fast when you're entering every single hour.

The tree, explained once

The contract stores holders in a Fenwick tree. Standard data structure from competitive programming, used here for two things at O(log n) cost:

1. Update a holder's weight when their balance changes.
2. Find the holder at a given cumulative-weight index.

Every time BASEPOT moves between wallets, the tree updates in the same transaction. When VRF returns its number, the contract asks the tree: "who owns index R?" It gets an answer in about 16 steps for a 50,000-holder tree. That answer is the winner.

No offchain indexer. No merkle root to commit. No 30-minute challenge window. The data structure is live and the lookup is deterministic. The random number is the only external input.

What the burn-ticket buys you

Holding is baseline. Burn-tickets are for bigger one-off bets.

Draws since burnMultiplierEffective weight on $100 burn
0 to 35x~150M virtual
4 to 73x~90M virtual
8 to 111x~30M virtual
12+0expired

Across the 12-draw window, total expected weight-draws from a $100 burn is about 4x what you'd get from buying and holding $100. You pay for that boost by losing your tokens (burned) and by committing to a 12-hour window.

Why small holders still hold

Two reasons.

Frequency. 24 draws a day. Each one is a chance. The distribution of wins across many small holders is wider than across a few whales.

Pot composition. The 20% rollover means a quiet hour still pumps next hour's pot. Small holders can catch a pot that was accumulated mostly by earlier swap volume. You didn't have to be trading to benefit.