Yam
A 10-day, unaudited 'fair launch' experiment combining an elastic-supply (rebase) token, on-chain governance, and a protocol treasury — which attracted ~$500M in a day and then broke itself within 36 hours via a one-line rebase bug.
▶ Run interactive simulation animated mechanism with editable parameters
How it works onchain
Summary
Yam (Yam Finance) was the archetypal "DeFi Summer" fair-launch experiment. Built in roughly 10 days by five contributors — Brock Elmore, Trent Elmore, Clinton Bembry, Dan Elitzer, and Will Price — and launched on Ethereum on August 11, 2020, it mashed together three then-hot primitives: Ampleforth's elastic-supply rebase mechanism, Compound's on-chain governance module, and YFI-style zero-premine liquidity-mining distribution, plus a novel twist in which positive rebases funded a community treasury. There was no premine, no founder allocation, no VC round, and — critically, and explicitly disclosed — no audit. Within about a day, roughly $400–500M of assets were staked into its farming pools and the token briefly traded near $160. On August 12, a one-line bug in the rebase function was discovered that minted vastly excess YAM to the protocol's reserve, permanently breaking governance quorum. A frantic community effort to delegate 160k+ YAM and pass an emergency fix appeared to succeed, but the fix itself was flawed; the protocol became ungovernable, the token fell ~90% in hours, and YAM v1 was dead about 36 hours after launch. The team then ran a migration to YAMv2 (a temporary voting token), had the code audited by PeckShield, and relaunched YAMv3 on September 18, 2020. Yam persisted for a while as "Yam DAO" with a multimillion-dollar treasury, but never regained relevance; by 2022 it was fending off a governance attack on its ~$3.1M treasury and voting on redemption/wind-down proposals.
Design (Mechanism)
- Elastic supply (rebase): YAM targeted a price of $1 (denominated against yCRV in v1's design). Twice daily, supply would expand or contract across all balances proportionally, à la Ampleforth, with arbitrage expected to push price toward peg.
- Treasury accumulation: The novel element — on each positive rebase, 10% of the newly minted expansion was used to buy yCRV (a yield-bearing Curve stable-LP token) into a treasury controlled by YAM governance. The idea: turn speculative expansion into permanent, governable protocol-owned reserves.
- Fair-launch distribution: 2,000,000 YAM streamed over 7 days ("Wave 1," from Aug 11, 19:00 UTC) to stakers of eight incentive pools — COMP, LEND, LINK, MKR, SNX, WETH, YFI, and ETH/AMPL Uniswap LP. "Wave 2" allocated 3,000,000 YAM to a YAM/yCRV Uniswap LP pool with weekly halvings. No premine, no founder share.
- Governance: A fork of Compound's Governor/Timelock system; all protocol changes, including the rebase logic and treasury, were meant to be controlled by tokenholder votes from day one.
- The bug: In
YAM.sol's rebase function,totalSupplywas computed asinitSupply.mul(yamsScalingFactor)— missing.div(BASE). Each rebase therefore minted an enormous surplus of YAM into the protocol reserve. Because quorum was defined in absolute token terms against a now hyper-inflated supply held largely by an unvoting reserve, governance could never again reach quorum — a self-bricking failure mode.
Outcome
Failed (v1); relaunch never recovered. Timeline: launch Aug 11, 2020; $460M+ TVL within ~24 hours; bug disclosed Aug 12 (6PM UTC); community "Save Yam" delegation drive reached the 160k YAM needed before the 8AM UTC Aug 13 rebase; the submitted fix proposal turned out not to work, leaving the protocol ungovernable and treasury funds (yCRV bought during the first rebase) stranded; price collapsed ~90% in under three hours. Estimated ~$750K of treasury value was locked. YAMv2 migration followed for interim voting; PeckShield audited the new code (high/medium findings, none critical); YAMv3 launched Sept 18–19, 2020 with 1:1 migration (50% immediate, 50% vested over 30 days). Yam DAO later pivoted to treasury-managed products (e.g., Yam Synths/DAO House era), survived a July 2022 malicious governance proposal targeting its ~$3.1M treasury, and saw a 2022 tokenholder redemption vote ($0.25/YAM) pass amid team objection — the project was effectively wound down / irrelevant thereafter. Notably, no user staking funds in the farming pools were lost; deposited assets remained withdrawable.
Why it worked
- Narrative compression: Yam bundled the three most memetic mechanisms of August 2020 (rebase, governance token, fair-launch farming) into one legible story, with vegetable-meme branding, producing perhaps the fastest zero-to-$500M TVL bootstrap seen to that point.
- Credible neutrality: No premine and no founder allocation gave whale farmers and retail identical terms, which drove near-instant community formation and made "Save Yam" a genuine collective-action moment.
- Treasury-on-rebase was a real innovation: converting elastic-supply expansion into protocol-owned, yield-bearing reserves prefigured later "protocol-owned liquidity/treasury" designs (e.g., Olympus-style POL debates).
- Honest disclosure: The team explicitly labeled the contracts unaudited and the project an experiment — which is partly why the failure, though total, caused no lasting reputational annihilation and allowed a v3 relaunch.
Where the design broke
- Unaudited, 10-day code holding nine figures: A single missing
.div(BASE)in the rebase path was fatal. Warning labels do not change user behavior during a mania. - Coupled failure domains: The bug wasn't just an accounting error — because quorum was denominated against total supply and the inflated tokens sat in a non-voting reserve, the supply bug cascaded into permanent governance paralysis. Mechanism composability multiplied the blast radius.
- No emergency brake: Full day-one decentralization meant no guardian, no pause, no admin key — admirable in theory, but it removed every recovery path except a live-fire governance vote against a countdown, executed with an unverified patch.
- The relaunch had no reason to exist: By v3, the rebase-token fad had passed; Yam's later pivots (synths, treasury management) never found product-market fit, and the endgame was a treasury-redemption fight typical of zombie DAOs.
Lessons
- Immutability plus bugs equals bricking: if governance is the only repair mechanism, governance itself must be robust to state corruption (e.g., quorum as a percentage of circulating, voting-eligible supply, or a time-limited guardian/pause).
- Audits are for depositors, not founders: disclosing "unaudited" does not prevent nine figures arriving in hours during a mania; permissionless systems must assume worst-case adoption speed.
- Interacting mechanisms need joint failure analysis: rebase math, reserve accounting, and quorum thresholds were each individually simple; their interaction created an unforeseen self-destruct. Test invariants across module boundaries, not just within them.
- Fair launches create communities but not commitments: the same mercenary capital that arrived in 24 hours left in 3; distribution fairness is not a substitute for durable utility.
- Fast-follow relaunches rarely recapture lightning: the memetic energy that made v1 was event-specific; v3's technical correctness could not resurrect the narrative.
Redesign (EDITORIAL — hypothesis, not fact)
This section is editorial hypothesis, not historical fact. A redesigned Yam could have kept its ethos while surviving week one: (1) launch with a 30–60 day "training wheels" phase — a community multisig guardian able only to pause rebases and governance, expiring automatically via timelock, preserving the credible-neutrality story while allowing bug recovery; (2) define quorum as a percentage of votable supply excluding protocol-held reserves, so accounting bugs cannot brick governance; (3) cap TVL or emissions in week one (deposit caps rising per epoch), rate-limiting worst-case exposure of unaudited code; (4) run the first several rebases in "shadow mode" (computed and logged on-chain but not executed) so the missing div(BASE) would have been observable before it mutated state; and (5) fund an audit retroactively from the first treasury inflows, making the treasury mechanism self-securing. A modern variant might also make the treasury the product from day one — an elastic token whose expansions dollar-cost-average into productive reserves, with redemption rights as a hard price floor — which is roughly where the 2022 redemption fight ended up anyway, but by design rather than by autopsy.
Sources
- YAM: An Experiment in Fair Farming, Governance, and Elasticity (launch post) — primary (docs)
- YAM Replanting: Migration and Launch (v3) — primary (docs)
- Yam docs — History — primary (docs)
- Etherscan — YAM v3 token — primary (contract)
- CertiK — Yam Finance Smart Contract Bug Analysis & Future Prevention (audit)
- The Defiant — 'It Was Exciting But Also Terrifying': Yam Finance's Backstory (retrospective)
- CoinDesk — DeFi Meme Coin YAM Succumbs to Fatal 'Rebase' Bug (news)
- CoinDesk — Deposits in 'Monetary Experiment' Meme Token YAM Break $460M (news)
- Decrypt — Yam Finance Safeguards $3.1M Treasury From Governance Attack (news)
Related experiments
Last verified: 2026-07-26 · Spot an error? Suggest a correction