A rule, applied indifferently
The useful thing about a tree is not that it is alive. It is that it produces a specific, recognisable form without containing any representation of that form. Auxin moves down a gradient, a fork conserves cross-section — Leonardo’s observation, still accurate to a few per cent in a modern wood — and a limb the flow no longer reaches is shed. Two oaks in the same field converge because they are integrating the same field with the same rule, not because they agreed.
A market has a field too, and it is not price. Price is a coordinate. The gradient is flow: value moving through a venue per unit time, which on this chain is measurable to the lamport because the venue charges for it and the charge is recorded. That is what this protocol integrates, and the whole design is one rule applied to it repeatedly with no branch anywhere that consults an intention.
The map
Let S be the float. Each block claims the accrued fee, spends a fixed fraction of that claim buying the token, and destroys what it bought:
with φ = 0.0030 the creator fee rate, β = 25% the fork, V the volume in the interval and P the price it filled at. Substitute the definitions V = vM and M = PS and the price disappears:
A linear contraction, and that is the entire dynamical content of the coin. Everything below argues about the shape of λ or admits where the map is applied from.
Why eigen
Apply a linear map repeatedly and the state does not wander, it aligns: weaker directions decay relative to the dominant one, and after enough iterations the system is moving along a direction belonging to the operator rather than to its starting point. That is the least exotic result in the subject, and it is the whole of the name.
Here the state is scalar, so the direction is trivial and the eigenvalue carries everything: λ = 1 − φβv, below one whenever a single trade occurs and exactly one when none does. After n blocks the float is S0λn. The supply does not merely fall; it falls at a rate the market sets and nobody can vote on, and two coins running this map against comparable flow converge on comparable curves for the same reason two oaks do.
The fork
β is the branching coefficient, and the one place this design has been wrong in a way worth recording. The fork is taken of the claim, never of the vault’s balance. A share of the balance re-spends the retained remainder on every later block, which compounds into spending all of it — a fork that took its cut of the whole trunk each time would eventually consume the tree. Taken of the claim, the share is bounded by construction: across any number of blocks the protocol spends exactly 25% of everything it has ever collected.
The other branch is genuinely unspent. Not staked, lent, paired or converted — SOL sitting where it landed, which is what pays for the next block’s transactions and absorbs a run of failures. And the burn is the shedding: cladoptosis, a real mechanism rather than damage, by which a crown drops the limbs it can no longer supply. The supply figure on the mint is the record of every limb dropped.
Where the rule should live
A rule applied at intervals approximates one applied continuously, and this is the part of the design that is unfinished rather than clever. Token-2022 offers a transfer hook: an extension naming a program the token program invokes on every transfer, both parties in scope. A token carrying one does not have behaviour bolted beside it — it has behaviour in the transfer path, sampled at every edge rather than integrated over intervals of a clock. No cadence to tune, because there is no interval. No keeper able to be late or selective, because no keeper is in the path.
It is not there, and the reason is one RPC call away. pump.fun mints under Token-2022, TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb, with an empty extension set — no transfer hook, no transfer fee, no permanent delegate, no freeze authority — and extensions cannot be added to a mint after creation. So the map is applied from outside the path.
That empty set is a trade rather than an oversight. A hook buys continuity and costs composability: pools, routers and wallets must each support it or refuse the token, and many refuse hook mints outright. A token no venue will list integrates its field perfectly and has no field to integrate.
Cadence, and one block
Applied at intervals, the intervals are the last decision, and a constant is the wrong answer for the same reason transpiration is not constant: a tree moves water when the gradient is there to move it. So the interval is chosen per block from the measured rate at which fees arrive, in lamports per second, read from the protocol’s own claims rather than from any reported volume — the version nobody can inflate by trading somewhere this earns nothing. The rungs, in seconds:
Heavy flow takes the fast end; a dead market settles onto the slow one. The floor is two seconds rather than one because a block is three transactions — claim, fork, burn — and the next is armed only once the last confirms, so blocks never overlap and never race each other for the same balance. Below 0.003 SOL nothing is claimed, and a claim whose fork is too small to be worth a swap is left for the next block. The burn takes the vault’s entire holding rather than the purchase, so a block that buys and then fails cannot strand inventory: the vault ends every settled block holding none of the token.
What iteration does
Iterating (2) gives the fractional contraction per unit time as a product of three numbers and nothing else:
| Flow | λ per day | Float removed daily | Half gone in |
|---|---|---|---|
| 1× | 0.99925 | 0.075% | 924 days |
| 5× | 0.99625 | 0.375% | 185 days |
| 20× | 0.98500 | 1.500% | 46 days |
Proposition. λ ≤ 1 for all v ≥ 0, with equality only at v = 0; and λ depends on no price.
Proof. φ, β and v are non-negative by construction, and subtraction is the only operation (1) performs on S: create_v2 discards the mint authority in the transaction that uses it, so no account can issue a token, this protocol included. Price enters (1) once in the denominator and once through M = PS, and cancels.
