how fee routing works
every coin on live is a pump.fun coin: same bonding curve, same trading, same graduation to pumpswap. what live adds is what happens to a coin's creator fees. each coin is treated as a live stream, and its room is measured the way a stream is: viewers joining, viewers leaving, and the hype train:
v = vS viewers: the curve's virtual SOL d = x − y the room: joined − left (SOL of buys − sells), per bucket H = H − H/4 + d hype train: three quarters of itself, plus the bucket's net
0 · whose fees
pump.fun pays a creator fee on every trade to the coin's creator. a coin launched on live sets that creator to a 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 viewer joining, sol out is a viewer leaving. live cranks inside every trade it sends, and a keeper cranks after trades made anywhere else, so one observation is about one trade. no trade, no observation.
2 · the window, the train and the phase
the last 100 observations are split into 10 buckets of 10, aligned to the newest. time is counted in buckets, not seconds. per bucket, x is the sol of buys (joined), y the sol of sells (left), and d = x − y the room's net: exactly how far traders moved the curve. the hype train is run through the buckets in order, keeping three quarters of itself each time (the quarter it loses truncates toward zero) and taking in the bucket's net. the phase reads the newest bucket against the train:
train_0 = d_0 train_k = train_{k−1} − train_{k−1} / 4 + d_k
n = d[K−1] H = train[K−1]
n > 0, 2n > H → raid → creator fees buy the coin on pump.fun, then burn it
n > 0, 2n ≤ H → chatting → fees keep accumulating
n < 0, H < 0 → offline → creator fees move to the floor reserve
n < 0, H ≥ 0 → brb → fees keep accumulating
n = 0 → lurking → fees keep accumulating
fewer than 2 buckets → starting soon → fees keep accumulatinga steady room settles the train at four times its net, so steady buying chats and only a burst raids: the newest bucket has to beat three quarters of everything the train remembered. a room that drains at a steady rate turns the train negative within a few buckets and goes offline. 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 support: the price can fall below it. nobody can withdraw the floor.
4 · the stream's stats
when at least 2 buckets exist, three numbers are computed over the window: the peak (the most viewers the room gained since the window opened), the average net per bucket, and the hype train's record. on each coin's page the room is drawn as a step line over the window it came from, never beyond it, with the train under it and a bar filled to H / H*.
R_k = d_0 + … + d_k k = 0 … K−1 peak = max(0, max_k R_k) avg = (Σ d_k) / K H* = max(0, max_k train_k)
they describe the recent past of one market, they are not used by the routing, and they forecast nothing. the program computes them in 128-bit integers; this app runs the same integer arithmetic, and its test suite replays 300 cases generated by the program's own tests. full spec in docs/MECHANISM.md.
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. an offline phase still moves collected fees to the floor.
the stream words are a way to read past trade flow, not a model of what comes next. nothing on this page is advice or a prediction. memecoins are highly speculative and most go to zero. paper mode is a simulation.