how fee routing works
every coin on tuft is a pump.fun coin: same bonding curve, same trading, same graduation to pumpswap. what tuft adds is what happens to a coin's creator fees. each market is treated as a predator–prey ecosystem:
ẋ = αx − βxy x = buy pressure (prey) ẏ = δxy − γy y = sell pressure (predators)
0 · whose fees
pump.fun pays a creator fee on every trade to the coin's creator. a coin launched on tuft sets that creator to a tuft program address, ["creator", mint], so only the program can collect and move those fees. the launcher does not receive them. for every other pump.fun coin the page shows a simulation of the same rule on that coin's live trades, labelled "sim".
1 · observations
the program reads the coin's pump.fun curve. each time it is cranked, the change in the curve's virtual sol since the last crank is one observation: sol in is a buy, sol out is a sell. tuft cranks inside every trade it sends, and a keeper cranks after trades made anywhere else, so one observation is about one trade.
2 · the phase
the last 100 observations are split into 10 buckets of 10, aligned to the newest. x is the sol of buys in a bucket, y the sol of sells. the phase is the sign of the change between the last two buckets:
dx = x[K−1] − x[K−2] dy = y[K−1] − y[K−2] dx > 0, dy ≤ 0 → buyer boom → creator fees buy the coin on pump.fun, then burn it dy > 0, dx ≤ 0 → seller boom → creator fees move to the floor reserve dx > 0, dy > 0 → crowding → fees keep accumulating otherwise → cooldown → fees keep accumulating fewer than 2 buckets → warmup → fees keep accumulating
vaults under 0.001 sol wait for the next crank instead of paying for a tiny buyback.
3 · burn and floor
a burn is an ordinary pump.fun buy made by the program with the collected fees, followed by burning every token it bought. the floor reserve is a program-owned account, ["floor", mint]. the program has no instruction that moves lamports out of it: no withdraw, no close, no admin path, no redemption. the test suite proves this by scanning the source and the idl and by checking the balance never decreases across random crank sequences.
outstanding supply = total supply − total burned floor backing per token = floor reserve ÷ outstanding supply
floor backing per token can only rise. it is not a claim, not a promise and not a price. nobody can withdraw the floor.
4 · the estimated parameters
α β δ γ are fitted by least squares on the bucket series (normalised to the window's peak) when at least 3 buckets exist. they describe the recent past of one market, they are not used by the routing, and they forecast nothing. the closed form is in docs/MECHANISM.md; the program and this app run the same integer arithmetic.
5 · after graduation
when a coin completes its curve and moves to pumpswap, the curve stops changing: no new observations, no more buybacks on the curve. a seller-boom phase still moves collected fees to the floor.
nothing on this page is advice or a prediction. memecoins are highly speculative and most go to zero. paper mode is a simulation.