Everything you need to know about Mushroom Farm.
Mushroom Farm is a Solana-based yield pool powered by a bonding curve. You deposit SOL ("plant spores"), your Shroom position produces spores continuously at a flat 9% daily rate, and you can either compound ("grow mushrooms") to convert spores into more Shrooms, or withdraw ("harvest") to sell spores through the bonding curve for SOL.
Plant — Deposit SOL into the vault. You receive Shrooms via the bonding curve at the current market price. Shrooms represent your share of the vault.
Grow — Compound your accrued spores into new Shrooms. 5% dev fee is taken as SOL, 20% of remaining spores go to the market pool (strengthening the curve), and the remaining 80% become new Shrooms. Available every 8 hours. Builds a daily streak that unlocks bonus spore production.
Harvest — Sell your accrued spores through the bonding curve for SOL. The curve determines the price: more spores sold into a larger market pool means less SOL per spore. Available every 8 hours. A rapid-harvest tax and early harvest fee may apply.
Spore production runs at a flat 9% daily rate (900 basis points). Unlike earlier versions with dynamic rates, V4 uses a constant spore yield — the bonding curve itself acts as the natural governor of returns. When more spores are sold, the market pool grows, making each spore worth less SOL. This self-balancing mechanism replaces the old health-ratio-based yield throttle.
Compounding daily builds a streak (max tier 6). Your streak tier is based on consecutive days since your streak started. Each tier adds a percentage bonus to your yield. You have a 10-hour window (8h cooldown + 2h grace) to compound each day and maintain your streak.
Your streak tier is derived from streak_epoch (the timestamp when your streak began). streak_epoch is only rewritten when you take an action — compound or harvest — not by the passage of time alone. Harvesting always resets your streak to 0. Compounding within the 10-hour window (8h cooldown + 2h grace) leaves streak_epoch intact and lets your tier continue climbing up to 6. Compounding more than 10 hours after your last action is the trap: that compound still applies the current tier's bonus to its pending rewards, but then rewrites streak_epoch to now — resetting your streak to tier 1 for everything afterward.
Because streak_epoch only moves on action, holding passively at tier 6 preserves the +10% indefinitely. The bonus applies to all rewards that accrue while you hold, collected on your eventual next compound or harvest. The only way to keep tier 6 across multiple compounds is to make every compound within the 10-hour window. The only way to lose tier 6 is a late compound, or a harvest.
Compound once every 8–10 hours for 6 days to reach Tier 6. From there, pick a lane and commit to it:
Active path. Keep compounding every 10 hours. Each on-time compound holds streak_epoch in place, keeps you at tier 6, and grows your Shroom position at the boosted rate.
Passive path. Stop compounding entirely and hold. Because streak_epoch only changes on action, your tier stays at 6 and the +10% applies to all rewards that accrue during the hold — collected on your eventual compound or harvest.
What to avoid. Compounding occasionally, late. If you let more than 10 hours pass since your last action and then compound, the tx pays out the +10% on its pending rewards but resets your streak to tier 1 afterward. One late compound undoes six days of streak-building.
To discourage rapid withdrawals that deplete the pool, a sliding tax applies if you harvest more than once within a 48-hour window.
The window resets 48 hours after the first harvest in each cycle. All collected tax goes back into the vault, boosting the TVL and benefiting all Shroom holders.
Share your referral link to earn rewards from your network. Referral rewards are added directly to your Shrooms position and compound automatically. Your referral rate scales with your total referred volume.
To protect the pool from rapid deposit-and-withdraw cycles, an early harvest fee applies during the first 7 days of your position. The fee starts at 5% and decays linearly to 0% over the 7-day window.
The early harvest fee is deducted after the dev fee and rapid harvest tax have already been applied, and returned to the vault, benefiting all Shroom holders.
The following section formalizes the V4 on-chain mechanics that govern spore production, bonding curve pricing, compounding, harvesting, and referral distribution. All arithmetic is performed in integer space (lamports/spores) to prevent floating-point drift.
Each user's Shroom position produces spores continuously at a flat rate. Spores are the intermediate unit that represents accrued yield — they must be sold through the bonding curve (harvest) or converted into Shrooms (compound) to realize value.
yield_bps is fixed at 900 (9%/day). Streak bonus is multiplicative: at max streak (+10%), effective rate = 900 × 1.10 = 990 bps (9.9%/day).
The bonding curve is a constant-product AMM that prices spore↔SOL conversions. It uses the classic "Baked Beans" formula with PSN=10000 and PSNH=5000. The market_spores pool is a monotonically increasing global counter that dampens returns over time.
Where rt = amount being traded, rs = reserve of the source side, bs = balance of the buy side. The function computes how much of the buy-side asset you receive for a given amount of the sell-side asset. Returns 0 if any input is 0.
The market spores pool is the key dampening mechanism. It grows monotonically and never shrinks, which means the bonding curve becomes progressively less generous over time. This is the protocol's self-balancing mechanism that replaces the old dynamic yield rate.
This asymmetry is intentional: compounding injects 20% but harvesting injects 100%. The more users harvest, the larger the market pool grows, which dampens the SOL value of future spores for everyone. This creates a natural incentive to compound rather than harvest.
The streak is epoch-based: streak_epoch records the timestamp when your streak began. Your streak tier is determined by how many consecutive days have elapsed since that epoch. In V4, the bonus multiplier is applied directly to spore production:
The compound window is 8h cooldown + 2h grace = 10 hours. Harvesting always resets streak_epoch to 0. A compound made more than 10 hours after your last action applies the current tier's bonus to that compound's pending rewards, then rewrites streak_epoch to now — so the next compound starts from tier 1. Because tier is derived from elapsed time since streak_epoch, and streak_epoch is only rewritten on compound or harvest, holding without any action preserves your tier indefinitely (capped at 6).
When a user harvests in V4, spores are first priced through the bonding curve, then three deductions are applied sequentially to the SOL value:
remaining = seconds left in the 7-day window from first deposit. Dev fee goes to the dev wallet; rapid tax and early fee stay in the vault. The key V4 difference: sold spores inflate the market pool, dampening future harvest values for everyone. Worst case (day 1 + 15% rapid): ~23% total deduction from gross SOL value.
On every deposit, referral rewards are computed from the gross deposit (before dev fee) and credited to the referrer's Shrooms. The rate scales with the referrer's cumulative referred volume across a 4-tier structure.
Referral rewards are minted as new Shrooms at the current vault price. Cumulative referred volume starts at 0 and tracks the total gross SOL deposited by your referrals. Self-referral is not permitted.
The whale limit bounds maximum exposure per wallet to preserve pool diversity. Minimum deposit is 0.01 SOL; minimum harvest is 0.0001 SOL.
Compound and harvest cooldowns are tracked independently. Compounding does not reset your harvest timer and vice versa. The streak window (10h) is the maximum time after a compound before the streak resets.
Shrooms represent your share of the vault. The supply grows through deposits, compounds, and referral payouts. In V4, the bonding curve provides natural inflation control — as the market spore pool grows, each compound yields proportionally fewer new Shrooms.
1. Deposits (Plant) — When a user deposits SOL, new Shrooms are minted via the bonding curve. This is the primary inflation driver.
2. Compounds (Grow) — When a user compounds, 80% of remaining spores (after 5% dev fee and 20% market injection) become new Shrooms. The 20% injection into the market pool is the key dampening mechanism — it makes future spore-to-SOL conversions less generous for everyone.
3. Referral Payouts — Referral rewards are minted as new Shrooms at the current vault price.
Compounding in V4 follows a different flow from earlier versions. The spore-to-Shroom conversion uses the remaining spores directly, not a SOL intermediate:
The dev fee is calculated as 5% of the hypothetical SOL value (via bonding curve) and transferred from vault to dev wallet. The market injection grows the market_spores pool, progressively dampening future returns.
In V4, the bonding curve is the primary governor of real returns. Even though spore production runs at a flat 9%, the SOL value of those spores decreases as the market spore pool grows. Heavy harvesting accelerates this dampening (100% of sold spores enter the pool). Heavy compounding also contributes (20% market injection), but to a lesser degree.
Self-dampening returns — The bonding curve makes yields naturally decrease over time as the market spore pool grows. Early participants and active compounders benefit most.
Compound > Harvest — Compounding injects only 20% of spores to the market pool, while harvesting dumps 100%. This structural asymmetry rewards compounders over harvesters.
No burn mechanism — Shrooms are never destroyed. Harvesting sells spores for SOL but does not reduce the Shroom supply.
No max supply — The total Shroom supply is uncapped and grows with every deposit, compound, and referral payout.
Active compounders benefit — Compounding mints new Shrooms for you. Passive holders who don't compound lose relative share over time.
The program is deployed on Solana mainnet. You can inspect it on-chain:
Phantom, Solflare, and Backpack are supported. Connect any of them via the button in the header.
Mushroom Farm is an experimental, unaudited DeFi protocol deployed on the Solana blockchain. Participation is entirely at your own risk. Nothing on this site or in these documents constitutes financial advice, a solicitation, or an offer to buy or sell any asset. Smart contracts may contain bugs, exploits, or unforeseen behavior that could result in partial or total loss of deposited funds. Past yields do not guarantee future returns. By using this protocol you acknowledge that you understand these risks and agree that the developers, contributors, and any affiliated parties bear no liability whatsoever for any financial losses, damages, or adverse outcomes incurred through the use of this protocol.