BT.Finance Hack
What happened
On February 8, 2021, an attacker used a 100,000-ETH dYdX flash loan to temporarily distort Curve's ETH/sETH pool, deposit into BT.Finance's ETH vault, trigger its earn() path, restore the Curve position, and withdraw more value than the vault should have released. The attacker repeated the cycle in one atomic transaction and repaid the flash loan.
BT.Finance relied on manipulable same-transaction Curve pool conditions in its strategy and vault accounting, while exposing earn(). The attempted anti-contract-deposit and short withdrawal-delay defenses were bypassable. Missing robust slippage and valuation controls let flash-loan-funded price manipulation produce excess withdrawal.
How it happened
- The large temporary Curve trade changed the pool conditions used by the vault strategy.
- After depositing ETH, the attacker called earn(), unwound the Curve trade, then redeemed vault shares under the distorted accounting.
- BT.Finance's postmortem describes five rounds; its ETH-vault walkthrough attributes a 622.1725-eCRV pool loss and a 234.1906-ETH gain to that path.
Protocol details
Security review history
- PeckShield View report
Evidence
- report BT.Finance Exploit Analysis Report btfinance.medium.com
- report Post-mortem rekt.news
- report REKT: The Big Combo rekt.news
- transaction Etherscan lead exploit transaction etherscan.io
- analysis DeFiLlama defillama.com
Understand the attack patterns
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.