How a round works
A round is 300 seconds long and always ends in one of two states: settled, with a stock delivered to a winner, or void, with the pot carried forward. Nothing is ever stranded.
1. The round opens
The keeper writes a new round row and publishes a commitment: the SHA-256 hash of a secret seed it will not reveal until the round is over. This happens before anyone can enter, which is what stops the outcome from being chosen after the fact.
If the previous round was void, its unspent SOL is recorded on the new round as a rollover and will be added to this round's pot.
2. Fees accumulate
For the next 5 minutes, every trade on the bonding curve pays a fee that accrues in SOL inside the pool. Nobody has to do anything. The board shows a live estimate of the pot as it grows, refreshed roughly every 20 seconds.
3. The timer hits zero
The keeper moves the round to a drawing state and runs the settlement sequence.
Claim the fees
The keeper claims the pool's accumulated trading fees into its own wallet. The amount credited to the round is measured as the wallet's actual SOL balance delta, not the pool's reported figure, so transaction costs are accounted for exactly.
A gas reserve is held back so the keeper can always afford the buy and the payout. Whatever is left is the pot.
Snapshot the holders
The keeper reads every wallet holding at least 10.0K $GACHA at that instant and freezes the list. This is the entrant set for the round, and it is published in full on the round's page after settlement.
Roll
Only now does the keeper fetch a recent Solana blockhash and use it as the second half of the randomness. It could not have known that value when it published the commitment minutes earlier. From the two seeds it derives the winning stock and the winning ticket. See Provable fairness.
Buy
The entire pot is routed through Jupiter into the drawn stock. The prize recorded is the keeper's actual token balance delta, so what you see is what arrived after slippage, not an optimistic quote.
Pay out
The shares are transferred to the winner. Their token account is created and paid for by the keeper if it does not exist, so a winner never needs to have touched that stock before, and never needs to claim anything.
4. The round settles
Everything is written down: the seeds, the winning ticket, the frozen entrant snapshot with every wallet's ticket range, the amounts, and both transaction signatures. Then the next round opens immediately.
When a round voids
A round settles as void, rather than settled, if any of the following is true:
- The pot does not cover the gas reserve, or falls below the configured minimum.
- No wallet meets the minimum holding.
- The swap or the payout fails.
- The keeper wallet is below its operating floor and cannot safely trade.
In every case the SOL rolls into the next round rather than being lost, and the reason is recorded on the round and shown in the history.