moss: demurrage engine
market cap:
docs · proof of deployment · appendix · x
moss

the rot is running

moss is a token that decays when you ignore it. every wallet rots at a fixed rate, enforced on chain by the transfer hook itself, and the rot does not disappear. it flows to the people who are still paying attention. there is no team allocation, no admin key, no operator, and nothing for anyone to manage. the spec is written out below, plotted where it can be plotted, because the formulas are the whitepaper and there is no second document.

balance b(n)rot r(n)
fig. 1: decay of an ignored wallet. an ignored wallet, plotted. the hook computes this exact curve from your last touch slot every time your account moves. there is no other schedule, no admin override, and no version of this curve that can be amended.

premise

a token is usually a claim you can forget about. moss is not. moss is a demurrage asset, which means balances decay at a fixed rate per saeculum unless they are sheltered. the decay is not a fee schedule, not a tax, and not a treasury mechanism dressed up in new language. it is the entire design, and everything else on this page is a consequence of it.

moss does not inflate and does not burn. total supply is fixed at 16,777,216 moss forever, and no instruction exists that can change that number. supply migrates instead. it moves from the absent to the present, slowly, at a rate everyone can verify.

decay

every wallet balance rots at λ = 0.15% per saeculum. a saeculum is one solana epoch, roughly 2.2 days. moss counts time in nothing else. decay is continuous in saecula and enforced lazily, meaning the transfer hook computes the rot owed since the account was last touched and sweeps it the moment the account moves again.

you cannot dodge the hook. moss is a token 2022 mint with the transfer hook extension, so every transfer invokes the moss program before it settles, no matter what wallet or interface sent it. there is no transfer path that skips the accounting. the rot owed is computed from your last touch slot, not from a snapshot that anyone maintains, which means there is no crank to run, no keeper bot to fund, and no server that can go down.

balance b(n)
fig. 2: your wallet, decayed. this is not a projection and not an estimate. this is the formula itself, evaluated on the number you typed. the hook will compute the same result to the same digit.

tending

an account that never moves would never realize its rot, so realization is permissionless. anyone may call tend() on any account that has been stale for one full saeculum or more. the call computes the rot, sweeps it, and pays the caller, who is called the tender, five percent of whatever was realized.

tending is moss's mining. what hash power is to bitcoin, attention is to moss. outside effort is converted into inside reward by a transparent and verifiable rule that never changes. the network gardens itself, and wallets nobody remembers become yield for whoever remembers them first.

btc reward / supplymoss balance
bitcoin issuancenow: 3.125 btc/block
moss decayλ: 0.15% / saeculum
fig. 3: issuance vs absence. bitcoin schedules its issuance. moss schedules your absence. both are just an exponential that nobody can amend, published in advance, running on rules that do not care who is watching.

shelter

decay stops in exactly one place, the shelter. deposit moss into the shelter vault and your balance is frozen against rot. sheltered moss also receives the rot, because seventy percent of every realized sweep is distributed pro rata to sheltered balances at each saeculum boundary.

the rest of the split is simple. twenty five percent is paired against the reserve's sol and deployed as protocol owned liquidity in the canonical pool, and five percent goes to the tender who triggered the sweep.

there is no lock, no cooldown, and no penalty for leaving the shelter. the moment you withdraw, your clock starts again. the design asks one thing of you, continuously, and it is a question with only two answers. decide whether you are present.

shelteredreserveunsheltered
fig. 4: supply migration. holdings migrate from the absent to the present at 0.15% per saeculum, every saeculum, indefinitely. this chart is that split, integrated forward. it is a model of the rule, not a promise about behavior.

the reserve

the reserve is the system's only balance sheet. it accumulates twenty five percent of all rot plus a 25 bps transfer fee on every moss transfer, collected through the token 2022 transfer fee extension and swept with harvestWithheldTokensToMint at every saeculum boundary. the reserve deploys itself as concentrated liquidity in the canonical moss/sol pool, a position we call coverage, and it recenters its range automatically, gated by a pyth twap deviation check and executed only inside revert protected jito bundles.

the reserve has no withdraw function. no key exists that can touch it, including ours, because ours do not exist either. coverage only rises.

terminal states

moss has two endpoints and it is honest about both. if everyone shelters, rot stops, distributions stop, and the system goes dormant, leaving a fixed supply token that is fully present with nothing moving. if everyone forgets, the shelter slowly inherits everything, and the last attentive wallets end up holding the supply, backed by a reserve that never left.

between those endpoints is the entire life of the token. moss is a wealth transfer from the absent to the present, at 0.15% per saeculum, forever, with no one able to speed it up, slow it down, or switch it off.

we hold no allocation, no admin role, no pause function, and no upgrade path. the hook program is immutable and the upgrade authority is burned. if everyone who shipped this disappeared tonight, the rot would still run tomorrow, at the same rate, under the same rules. that is what no operator means, and it is the only promise moss makes.