$STOCKFUN
The protocol token. It captures value from the whole launchpad, and applies to itself the rule it imposes on others.
The flywheel
Every trade, on every market, credits the buyback line, 0.5 % by default, to the
buyback balance on the hook, owed to the BuybackBurner. The burner pulls that balance at
the start of each burn, and anyone can send it there with claimBuybackFees(); since
2026-10-01 the hook no longer sends it during the trade. The burner has no owner of its
own, no withdraw, no sweep: while the $STOCKFUN pool is locked, the only thing its current
code can do with the ETH it receives is buy $STOCKFUN and send it to the burn address,
which is hardcoded. Since 2026-10-05 StockFun's owner has one lever on it, rescue: a token
sent to it by mistake, at any time, and its ETH only once no burn could spend it, before the
protocol market is named or once the end mode has recovered the $STOCKFUN pool.
"Bought back then burned" is therefore a property of the code rather than a promise, as long as the burner is not upgraded: since 2026-10-02 StockFun's owner can upgrade it, with immediate effect, like every module but the tokens and the liquidity lock.
Its own market
$STOCKFUN has a TreasuryVault, on the Index basket, fed by the same 2 % as any market
and airdropped to $STOCKFUN holders like any treasury. The protocol applies its own rule
to itself. No $STOCKFUN is reserved for the team. Its airdrop cycles leave out the burn
address, as on any market, and the launch operator, who holds the whole supply for the few
blocks between the mint and the lock: since 2026-10-05 the launch script lists that address
before the mint.
The buyback feeding that vault is not a flaw in the model, it is the flywheel: a
$STOCKFUN purchase by the burner itself pays 5 %, of which 2 % returns to the protocol
vault and 0.5 % to the next burn. The series converges.
What sets it apart
| Launched market | $STOCKFUN |
|
|---|---|---|
| Schedule | 2 / 2 / 0.5 / 0.5 | 2 / 2.5 / 0.5 |
| Creator | A user, 2 % | None; the line goes to the team |
| Treasury airdrop | To the market's holders | To $STOCKFUN holders |
| Supply | 100 % in locked liquidity | 100 % in locked liquidity, none reserved for the team |
| Launch | Two positions | One single-sided position |
The schedules are the default settings of the tax, which StockFun's owner can change: see Fees.
The contract
$STOCKFUN is a plain ERC-20 and cannot be upgraded. Its whole supply, 1,000,000,000
tokens by default, is minted once, in the constructor, to the launch operator, who deposits
all of it in the locked position: none is reserved for the team. It has no mint, no burn
function, no pause, no blacklist, and no logic of its own beyond one setter and its
rescues, which belong to StockFun's owner. The setter, setRecorder, names the holding
recorder every balance change is reported to, since its treasury is airdropped to its
holders too. If the report fails, the transfer fails: the one deliberate exception to the
protocol's isolation rule, see Architecture. The rescues, since
2026-10-05, move out only what was sent to the token's own address by mistake.
The launch script, LaunchProtocol, requires the airdrop contract to be named on the
factory first. It sets $STOCKFUN's exclusion list, with the launch operator, on the
address the token will take, then deploys the token there and deposits its supply in the
locked position. Since 2026-10-06 a run that stopped before the protocol market was named
resumes with the token and the vault it left, which the script checks first, instead of
minting a second $STOCKFUN. See Deployment.
The burn
"Burning" means sending to 0x000000000000000000000000000000000000dEaD. Total supply never
moves — it is the circulating supply that shrinks, and the difference is verifiable by
anyone with a balanceOf call.
That is more honest than a real burn: nothing hides behind a changing totalSupply,
everything is a public balance.