GachaStocks

The pot and fees

The pot is not a treasury and not a subsidy. It is exactly the trading fees the token generated during that round, minus what the keeper needs to operate.

Where the money comes from

$GACHA launched on a Meteora dynamic bonding curve configured to collect fees in the quote token. Every trade pays:

DirectionFeeCollected in
Buy3%SOL
Sell3%SOL

Because fees are collected in the quote token, the pot is always SOL regardless of trade direction. There is no step where the game has to sell your token to fund a prize.

From fees to prize

claimed      = trading fees claimed from the pool this round
rollover     = unspent SOL carried in from a voided round
gasReserve   = SOL held back for transaction costs

pot          = claimed + rollover
spend        = pot - gasReserve

prize        = market buy of spend SOL into the drawn stock

The keeper measures claimed as its own wallet balance delta across the claim transaction, not as the figure the pool reports. That way the transaction cost of claiming, and any rent reclaimed from temporary accounts, are accounted for exactly rather than approximately.

The gas reserve

Each round holds back a small amount of SOL so the keeper can always pay for the buy and the payout. A keeper that spends its last lamport on a prize cannot deliver it.

There is a second, independent guard: an operating floor on the keeper wallet.

  • If the keeper's balance is below the floor, it refuses to trade and the round voids.
  • If accounting and reality have drifted, the spend is capped at what the wallet can part with while staying above the floor.

Rollovers

When a round cannot settle, its SOL is not lost and not swept. It is recorded as a rollover on the next round and added to that round's pot. Several quiet rounds in a row therefore compound into one larger prize rather than a series of dust payouts.

A round voids when the pot does not clear the gas reserve or the configured minimum, when no wallet is eligible, or when a transaction fails. See How a round works.

Slippage

The buy is a market order routed through Jupiter with a slippage tolerance. The prize recorded is the keeper's actual token balance delta after the swap confirms, so the published number is what genuinely arrived, never the quote.

Combined with the 3% price-impact filter on stock selection, this keeps the gap between pot value and prize value small. It is never exactly zero: a market buy pays the spread.

What the operator takes

From the pot, nothing. The full spend goes into the prize. The gas reserve is spent on Solana transaction fees, not retained. Any protocol-level fee is taken by Meteora at the pool level before the claimable balance exists.

Round length

Rounds are 300 seconds. Shorter rounds mean more, smaller prizes; longer rounds mean fewer, larger ones. The total paid out over a day is the same either way, since it is driven entirely by trading volume.