paper · simulated balance, not real money. live pump.fun data.

how fee routing works

every coin on verhulst is a pump.fun coin: same bonding curve, same trading, same graduation to pumpswap. what verhulst adds is what happens to a coin's creator fees. each coin is treated as a flock on a pasture, and its growth is measured the way Pierre-François Verhulst measured populations in 1838, with logistic growth:

dP/dt = r·P·(1 − P/K)      verhulst, 1838

P  = vS                    the curve's virtual SOL
ΔP = x − y                 SOL of buys − sells, per bucket
g  = ΔP / P                growth rate per head

0 · whose fees

pump.fun pays a creator fee on every trade to the coin's creator. a coin launched on verhulst 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 buy, sol out is a sell. verhulst 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 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 (arrivals) and y the sol of sells (departures). starting from the reserve now and stepping back one bucket at a time, the program knows the reserve P each bucket opened at, and its growth rate per head, g = (x − y) / P, in parts per billion. the phase reads the last two:

g = g[n−1]           Δg = g[n−1] − g[n−2]

g > 0, Δg ≥ 0   →  exponential  →  fees buy the coin back, then burn it
g > 0, Δg < 0   →  saturation   →  fees keep accumulating
g < 0           →  decline      →  fees move to the floor reserve
g = 0           →  equilibrium  →  fees keep accumulating
fewer than 2 buckets → counting (warmup) → fees keep accumulating

Malthus's exponential keeps the rate per head steady; Verhulst's point was that it falls as the pasture fills. so growth at a steady or rising rate is exponential, and growth at a falling rate, saturation. a flock that follows Verhulst's curve exactly reads saturation all the way up. 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 · verhulst's line (the estimates)

when at least 3 buckets exist, each gives a point, the reserve it opened at and its growth rate, and a straight line is fitted through them by least squares: Verhulst's g = r − (r/K)·P. r is the rate it gives an empty pasture; K, the reserve where it reaches zero, where arrivals and departures would balance. K exists only when the rate fell as the reserve rose. on each coin's page, the logistic curve built from r and K is drawn over the window it came from, never beyond it.

S₁ = Σ P_k    S₂ = Σ P_k²    Sg = Σ g_k    SPg = Σ P_k·g_k        k = 0 … n−1
D  = n·S₂ − S₁²
r  = (S₂·Sg − S₁·SPg) / D      K = (S₂·Sg − S₁·SPg) / −(n·SPg − S₁·Sg)

r and K describe the recent past of one market. they are not used by the routing and they forecast nothing; K is a level of the curve's virtual sol, not a price or a market-cap target. the program computes them in 128-bit integers; this app runs the same integer arithmetic, and its test suite replays 363 windows 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. a decline phase still moves collected fees to the floor.

the population 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.