Docs
What Cordyceps does, what the program refuses to do, and how to check it without trusting this page
The idea
A sprout is a coin that trades against another coin, its host, instead of against SOL
Every buy of a sprout is a buy of the host first, and every trade of it pays 1% in the host coin, most of which is burnt. The more a sprout trades, the more it eats its host's supply
Hosts
- Any pump.fun coin can host once at least 5 SOL stands behind its market, on its bonding curve or in its PumpSwap pool
- Anyone can register one on the Hosts page. The program reads the market itself and refuses a coin below the bar
- A host's price is sampled at most once every 50 seconds and kept as the last 16 samples. Only the median is ever used, so a single swap cannot move it
- After five samples the host gets a curve config and sprouts can grow on it
- When a pump.fun curve completes, anyone can move the host to its PumpSwap pool
Growing
- A sprout is a Meteora Dynamic Bonding Curve pool quoted in the host coin: 1,000,000,000 Token-2022 tokens, 6 decimals, metadata that nobody can change later
- There is no presale and no team allocation. The creator can add a first buy in the launch transaction, at the same curve price as anyone
- Paying in SOL routes through Jupiter into the host coin and then into the curve, all in one transaction. Holders of the host coin can pay with it directly
- The curve fills when it has taken in host coins worth 30 SOL at the host's median price, capped at a fifth of a pump.fun coin's supply
Fees
Every trade on a sprout curve pays 1%, in the host coin. Meteora keeps a fifth of it. The rest can be claimed by one address only, the feeder, which is a program address with no private key
| Share | Goes to | How |
|---|---|---|
| 60% | Burnt | The host coin's supply shrinks, recorded on the host |
| 25% | The sprout's creator | Sent to the creator's host coin account in the same instruction |
| 15% | Treasury | Sent to the treasury's host coin account in the same instruction |
The claim and the split are one instruction, feed. Anyone can call it, and nothing ever stays with the feeder
Fruiting
- When the curve fills, its liquidity moves to a Meteora DAMM v2 pool with a 1% fee
- All of that liquidity is permanently locked under the feeder. The program has no instruction that removes liquidity, so nobody can take it out
- The pool's fees in the host coin keep going through the same 60 · 25 · 15 split through
feed_pool
Generations
A sprout with 5 SOL worth of its host behind it can become a host itself. Its sprouts trade against it, their fees burn it, and its own trades keep burning the original host. Hosts go two generations deep, so the third generation grows but does not host
The keeper
A keeper does the chores nobody is paid for: price samples, curve configs, fee claims, moving filled curves into Meteora. Every one of these is either open to anyone or checked by the program
- It can write a host's curve config, and the program checks each term: fee, fee receiver, locked liquidity, no creator fees, no vesting, fixed metadata, and a threshold that matches the median price
- It cannot move fees anywhere except through the split
- If it stops, anyone can call the same instructions
Verify on chain
Open any sprout pool on Solscan, then its config account. At byte 40 and 72 you find the fee claimer and the leftover receiver, both the feeder above. The program refuses to accept any config where they differ
Every feed transaction shows three token movements after the Meteora claim: a burn of 60%, a transfer of 25% to the creator, a transfer of the rest to the treasury, and a Fed event with the amounts
The DAMM v2 position of a fruited sprout is held by the feeder, and its liquidity sits in the permanently locked field of the position. The program's instruction list has no withdrawal
Each host account stores its last 16 price samples. The config threshold must match the median of those, within 10%, or the program refuses it
Its Solscan page shows the upgrade authority. Every rule above holds for the program as deployed; an upgrade would show there as a new deployment slot
Build the source with Anchor and compare the hash with the deployed program using solana-verify
Risks
- Sprouts and hosts are memecoins. Prices can go to zero
- A sprout's value depends on its host. If the host falls, the sprout's liquidity is worth less in SOL
- Buying with SOL takes two swaps in one transaction. Slippage applies to both, and the page shows the minimum you accept before you sign
- Meteora, Jupiter and pump.fun are separate programs run by their own teams