Delta Exchange Blog
How the KelpDAO Hack Exposed Cross-Chain Weaknesses Across DeFi

How the KelpDAO Hack Exposed Cross-Chain Weaknesses Across DeFi

On April 20, someone drained 116,500 rsETH, roughly $292 million , from KelpDAO’s bridge in a single transaction. The exploit didn’t involve a clever contract vulnerability or a compromised key. It came down to a misconfiguration so basic that it shouldn’t have existed on a mainnet bridge handling nine figures in user funds.

Here's what actually happened.

Key Takeaways

  • A 1-of-1 DVN (Decentralized Verifier Network) setup on the Kelp rsETH Unichain-to-Ethereum route allowed unbacked tokens to mint on Ethereum without a corresponding source-side burn.
  • 116,500 rsETH (~$292M), roughly 18% of the ~630,000 rsETH circulating supply.
  • The attacker sent two more transactions targeting ~$100M in additional rsETH. KelpDAO’s team detected the attack in time, froze the bridge, and both transactions were blocked before they could execute.
  • Stolen rsETH was deposited into Aave V3 as collateral to borrow ETH/WETH, raising bad debt exposure to an estimated $177M.
  • Aave V3/V4, SparkLend, Pendle, Compound, Euler, Beefy, Yearn, Fluid, Upshift, and Mellow.

The Configuration Error That Made it Possible

KelpDAO uses LayerZero’s OFT standard to bridge rsETH between chains. LayerZero’s security model relies on DVNs (Decentralized Verifier Networks) to validate cross-chain messages before they’re executed. 

The idea is that multiple independent verifiers have to agree a message is legitimate before tokens move.

KelpDAO’s Unichain-to-Ethereum bridge route was running a 1-of-1 DVN setup. That means it needs one verifier. One point of failure. If that single verifier can be bypassed or manipulated, there's nothing else checking whether a cross-chain message is real.

The attacker funded a wallet through Tornado Cash, waited about ten hours, then called lzReceive directly on LayerZero’s EndpointV2 contract. 

That call triggered KelpDAO’s bridge logic to release 116,500 rsETH to the attacker’s address - with no corresponding burn on the source chain. The bridge essentially minted unbacked tokens on Ethereum because nothing in the configuration required a second opinion.

For context: other protocols using the same LayerZero OFT standard run a minimum 2-of-2 DVN setup, with some moving to 3-of-3 on high-traffic routes, plus rate limits on both inbound and outbound transfers. KelpDAO had none of that. The attacker attempted two more transactions targeting roughly $100 million in additional rsETH. KelpDAO’s team caught the attack in progress, froze the bridge, and blocked both.

What Did The Attacker Do With The rsETH?

Once the rsETH was in the attacker’s wallet, it went straight into Aave V3 as collateral. Against that collateral, the attacker borrowed ETH and WETH, then routed the proceeds back through Tornado Cash. Aave’s exposure to bad debt from the stolen rsETH reached an estimated $177 million.

That’s when every protocol with rsETH exposure had a decision to make - and most of them made the same one.

The Freeze Cascade

Aave paused all rsETH markets on V3 and V4. 

It also froze WETH reserves on Ethereum, Arbitrum, Base, Mantle, and Linea - not because WETH was compromised, but because it was collateral that could now be borrowed against manipulated rsETH positions. SparkLend shut its rsETH market entirely. Fluid, Pendle, Compound, Euler, Beefy, and Yearn all paused rsETH-related activity.

The practical problem most protocols ran into was pricing. 

The rsETH market was now carrying a known quantity of unbacked tokens in circulation, and nobody could confidently say what the real rsETH was worth. Oracles stopped updating. 

Teams were explicit about why: there was no reliable way to price the asset until the total unbacked supply was quantified and addressed. That made it impossible to process withdrawals or liquidations without risk of executing at a bad price.

Borrow rates on Aave spiked during this period, and the Ethereum validator exit queue - relevant for anyone trying to unwind staked ETH positions - filled up, making deleveraging slower and more expensive.

Why Did Solana Feel It?

The KelpDAO hack’s effects reached Solana-based lending markets, though not through direct rsETH exposure. What happened was a flight to liquidity. As Ethereum-side protocols froze and uncertainty spread, stablecoin demand on Solana spiked across multiple platforms:

  • Jupiter Lend: USDC utilization hit ~99%, with $340M of a $421M supply out on loan
  • Kamino Prime: ~96% utilization, lending rate at 8.92%
  • Kamino Main: ~95.75% utilization, lending rate at 10.2%
  • Save Finance (formerly Solend): utilization above 70%, lending rate at 3.9%
  • Marginfi: 88.32% USDC utilization, lending rate at 7.65%

That’s not contagion in the strict sense - Save Finance didn’t hold rsETH. What it shows is how a large DeFi disruption on Ethereum drives defensive behavior across the broader ecosystem, including chains with no direct connection to the incident.

The Bottomline

The 1-of-1 DVN configuration is a known anti-pattern. It’s documented. The LayerZero ecosystem has published guidance around minimum verifier thresholds. Using it on a production bridge at this TVL suggests either the security review missed it or nobody prioritized fixing it before launch.

The second problem is oracle dependency. 

Multiple protocols froze not because they were directly exploited, but because a single asset’s pricing became unreliable. If a single incident can paralyze price discovery across an entire asset class, that’s a structural issue - not a one-off.

A 1-of-1 DVN configuration shouldn’t exist on a mainnet bridge. The fact that it took an exploit to surface it means that bridge security across the DeFi ecosystem isn’t being audited to any consistent standard. Until minimum DVN thresholds and rate limits are baseline requirements rather than optional configurations, incidents like the KelpDAO hack will likely keep happening.

Frequently Asked Questions (FAQs)

  1. Why did the KelpDAO hack affect Aave? 

Answer: The attacker deposited stolen rsETH into Aave V3 as collateral and borrowed ETH and WETH against it. That left Aave exposed to up to $177M in bad debt if the collateral couldn’t be recovered.

  1. What is the rsETH market status now? 

Answer: The rsETH market remains frozen across Aave V3 and V4. L1 rsETH is reported fully backed, but withdrawal activity is paused across multiple protocols because oracle pricing is still unreliable.

  1. How did Save Finance get affected? 

Answer: Save Finance saw USDC lending utilization rise above 70% as defensive liquidity moves swept through Solana-based lending markets in response to the KelpDAO hack.

  1. What is a DVN in LayerZero? 

Answer: A Decentralized Verifier Network validates cross-chain messages before they execute. A 1-of-1 DVN means a single verifier controls whether a message is treated as legitimate - if that verifier is compromised or bypassed, nothing else stops a fraudulent message from going through.

  1. Is Ethereum mainnet ETH at risk? 

Answer: No. The exploit was limited to the L2 bridge layer on the Unichain-to-Ethereum route. Core L1 ETH was not affected.

Share