What Happened

Beanstalk (Backtest: March 2022)

$182M|Governance Failure|April 17, 2022

Attacker used flash loans ($1B+ from Aave, Uniswap V2, SushiSwap) to acquire BEAN3CRV-f and BEANLUSD-f Curve LP tokens, deposited them in the Silo to obtain ~79% of total Stalk governance voting power (exceeding the 2/3 supermajority threshold), and called emergencyCommit on BIP-18, a pre-submitted malicious governance proposal that transferred all Silo deposits and protocol-held assets to the attacker address. The entire attack occurred in a single Ethereum transaction. Beanstalk had no timelock on governance execution and no flash-loan resistance on voting power acquisition. The Omnicia audit had not covered the emergencyCommit function or LP token whitelisting.

What Hindenrank Would Have Said

As of March 1, 2022

D+
Risk Score
60/100

High risk: novel uncollateralized stablecoin with critical governance vulnerability (no timelock, no flash-loan resistance) and unaudited attack surface.

Mechanism Novelty12/15
Interaction Severity20/20
Oracle Surface7/10
Documentation Quality4/10
Track Record6/15
Scale Exposure5/10
Regulatory Risk3/10
Protocol Vitality3/10

Grade Predicted This Failure

Flagged by dimensions: Mechanism Novelty, Interaction Severity, Oracle Surface, Track Record

One or more collapse scenarios directly matched the actual failure mode.

Top Risks Identified

  1. 1.On-chain governance with emergencyCommit function allows proposals to execute immediately upon reaching a 2/3 supermajority vote, with no enforced timelock delay. Governance voting power is derived from Stalk tokens, which can be acquired by depositing assets (including LP tokens) into the Silo, creating a potential flash-loan governance attack vector where an attacker borrows assets, deposits them, votes, and executes a malicious proposal in a single transaction.
  2. 2.Beanstalk is an uncollateralized algorithmic stablecoin that relies entirely on a credit-based mechanism (Pods/Soil/Weather) to maintain its $1 peg. If confidence in Bean creditworthiness declines, the protocol must offer increasingly high Weather (interest rates) to attract lenders, creating a reflexive debt spiral: below-peg conditions require more debt issuance, which further erodes confidence in the protocol ability to repay.
  3. 3.The protocol uses Curve pool spot prices (BEAN3CRV-f, BEANLUSD-f) as its effective price oracle for peg maintenance decisions without multi-block MEV-resistant TWAP protection or Chainlink fallback. This makes Season-level supply adjustments vulnerable to single-block price manipulation.
  4. 4.Omnicia audited the Beanstalk smart contracts, but the audit was completed before governance changes that introduced the emergencyCommit function and LP token whitelisting for Silo deposits. The most critical attack surface (governance + flash loans) was never formally audited.

Collapse Scenarios

Flash-Loan Governance Takeover via emergencyCommit

Elevated
Trigger

An attacker acquires enough flash-loaned capital (estimated $1B+ from Aave, Uniswap, SushiSwap) to create BEAN3CRV-f and BEANLUSD-f LP positions, deposits them in the Silo to obtain >67% of total Stalk voting power, and calls emergencyCommit on a pre-submitted malicious BIP, all within a single Ethereum transaction.

Cascade
1.
Attacker submits a malicious BIP (Beanstalk Improvement Proposal) that, upon execution, transfers all Silo deposits and protocol-held assets to an attacker-controlled address. The BIP enters the standard 7-day voting period.The malicious proposal is visible on-chain but may not attract immediate attention if disguised or if the community is not actively monitoring all BIP submissions.
2.
After the 1-day minimum delay, the attacker flash-loans >$1B in stablecoins from Aave, Uniswap V2, and SushiSwap, converts them to BEAN3CRV-f and BEANLUSD-f Curve LP tokens, and deposits these LP tokens into the Beanstalk Silo.The attacker instantly holds >67% of all Stalk governance tokens, achieving the 2/3 supermajority required by the emergencyCommit function.
3.
The attacker calls emergencyCommit on the malicious BIP. Because the emergencyCommit function bypasses the 7-day voting period when supermajority is achieved, the proposal executes immediately in the same transaction.The malicious BIP code runs, transferring all protocol-held assets (Bean deposits, LP tokens, Pod claims) to the attacker address. The entire TVL (~$150M+) is drained.
4.
The attacker converts stolen BEAN3CRV-f and BEANLUSD-f tokens back to underlying stablecoins via Curve, repays the flash loans, and keeps the profit.BEAN price collapses to near zero as all backing is removed. All Silo depositors, Pod holders, and Bean holders suffer total loss. The protocol is effectively destroyed.
5.
The Pod queue becomes worthless as there is no mechanism to mint new Beans to repay outstanding Pods. The Weather rate becomes meaningless with no assets in the protocol.Complete protocol insolvency. All ~$150M+ in user-deposited assets are lost. The Beanstalk credit system collapses entirely as the debt instrument (Pods) has no prospect of repayment.
Historical Precedent

The Beanstalk governance mechanism has structural similarities to the early Compound governance design, but critically lacks a timelock contract. Flash loan governance attacks have been theorized since 2020 (MakerDAO governance forum discussions). The combination of (a) no flash-loan resistance on voting power acquisition and (b) an emergencyCommit that bypasses the voting period creates a more direct attack path than previously seen in DeFi governance.

Credit-Based Peg Death Spiral via Weather Exhaustion

Moderate
Trigger

Sustained below-peg trading (BEAN < $0.95 for >72 hours) combined with declining confidence in the credit model, causing Soil demand to dry up despite Weather rates exceeding 500%.

Cascade
1.
A broad crypto market downturn pushes BEAN below $1 peg. The Beanstalk Season system responds by issuing Soil and increasing the Weather rate to attract lenders who will Sow Beans for Pods.Initial Weather increase attracts some lenders, but the below-peg pressure persists as broader market selling continues.
2.
As BEAN remains below peg for multiple Seasons, Weather escalates rapidly (from 100% to 500%+). Each new Pod created at these rates represents massive future obligations: for every 1 Bean lent at 500% Weather, the protocol owes 6 Pods.The Pod queue grows exponentially. Existing Pod holders see their expected maturity dates pushed further into the future as new high-Weather Pods take priority for future seigniorage.
3.
Rational actors recognize that the growing Pod queue is approaching or exceeding any realistic future seigniorage capacity. Confidence in Pod repayment erodes, and new lending (Sowing) stops regardless of Weather rate.Without new lending, BEAN supply cannot be reduced through the credit mechanism. The primary peg-restoration tool becomes ineffective.
4.
Silo depositors begin withdrawing as they realize the credit system cannot restore the peg. Withdrawals reduce Stalk and governance participation, creating a secondary confidence crisis.BEAN price drops further below peg. The protocol enters a reflexive decline: lower price leads to higher Weather leads to more debt leads to lower confidence leads to more withdrawals leads to lower price.
5.
BEAN trades at $0.50 or below. The Pod queue represents obligations many multiples of the total Bean supply. The protocol is functionally insolvent even if BEAN returns to peg.Total or near-total loss for Silo depositors and Pod holders. BEAN may never return to peg as the debt burden is mathematically irrecoverable.
Historical Precedent

The Basis Cash (BAC) and Empty Set Dollar (ESD) algorithmic stablecoins both experienced credit/seigniorage death spirals in early 2021 when their debt instruments (bonds/coupons) failed to attract buyers during below-peg periods. Both protocols stablecoins lost their peg permanently. Terra/UST uses a different mechanism but shares the fundamental reflexivity risk of algorithmic stablecoins without collateral backing.

Curve Pool Oracle Manipulation Causing Erroneous Supply Adjustments

Moderate
Trigger

An attacker manipulates the BEAN3CRV-f Curve pool price within a single block to trick Beanstalk Season oracle into making incorrect supply adjustments, specifically minting Beans when the true market price is at or below peg.

Cascade
1.
An attacker executes a large swap in the BEAN3CRV-f Curve pool to artificially inflate the BEAN price above $1 within a single block, right before the Season sunrise function is called.Beanstalk oracle reads the manipulated Curve pool price and determines BEAN is above peg, triggering new Bean minting and seigniorage distribution.
2.
New Beans are minted and distributed to Stalkholders based on the false above-peg signal. The attacker, who may also be a Stalkholder, receives a portion of the freshly minted Beans.The protocol mints Beans when it should not have, increasing supply when the true market price does not warrant expansion. This pushes the actual price further below peg.
3.
The attacker reverses their Curve pool position (or allows it to revert naturally) and sells the minted Beans on the open market, profiting from the manipulation.Additional sell pressure from the attacker extracted Beans compounds the below-peg pressure. The protocol may then need to issue Soil and increase Weather to attract lenders, further increasing its debt burden.
Historical Precedent

Oracle manipulation via AMM pool price distortion has been exploited in multiple DeFi protocols, including Harvest Finance (October 2020, $34M loss via Curve pool manipulation) and Warp Finance (December 2020, $7.7M via LP token price manipulation). Beanstalk reliance on Curve pool spot prices for core peg maintenance decisions makes it vulnerable to the same class of attack.

See how today's protocols score

The same 8-dimension rubric applied to 672+ live protocols.