← Research

How Lending Markets Processed the rsETH Shock

How forged rsETH moved through bridges, lending markets, liquidations, and recovery capital.

Introduction

On April 18, an attacker minted $292.4M in rsETH by forging a cross-chain message through Kelp DAO's Unichain to Ethereum LayerZero-powered bridge. The forged message caused the bridge's Ethereum adapter to release escrowed rsETH to an Ethereum address controlled by the attacker, without any corresponding deposit on the source chain.

The exploit was a single-attester bridge failure, but it impacted downstream. Once the forged rsETH entered lending markets, each venue's design determined what could still move: collateral, debt, exits, rates, and recovery capital.

The bridge configuration was visible before the exploit. A 1-of-1 DVN was the default in LayerZero V2's setup documentation, and Aave's technical review of rsETH on Arbitrum and Base described Kelp's LayerZero bridge dependencies and suggested expanding beyond LayerZero's DVN. Across LayerZero, 47% of active OApps still used 1-of-1 DVN configurations before the incident.

The oracle in Aave lending was not designed for supply-side shocks. CAPO defended secondary-market depeg, not a forged-mint event that diluted the backing base by 18.5%. After the exploit, one in every six tokens post-exploit was unbacked.

The rate curve was utilization-aware under normal conditions. Under a freeze, the feedback loop breaks: high utilization signals high rates against borrowers who cannot respond. Pre-intervention rates would have eroded a 14x borrower's equity by 6.2% over a 30-day freeze. Without LlamaRisk's 6 pp manual cut, the curve would have charged borrowers for an exit that did not exist.

Liquidators could not sell enough rsETH for the bonus to cover the exit. The 1% Aave bonus was breached at 84 rsETH on the primary Uniswap V3 pool. Aave held 476,600 rsETH as collateral. Liquidators abstained because the math did not work, and the freeze confirmed a state that had already become economically impossible.


The Bridge

The LayerZero bridge uses the OFT model, in which native rsETH locked is matched by wrapped rsETH minted on destination chains. The security of any transfer reduces to a single question: who attests that the escrow event actually occurred? LayerZero's answer is Decentralized Verifier Networks, configured at deployment. The rsETH adapter was configured so that every packet through the bridge was authenticated by one team operating one verifier. Running a redundant DVN across the bridge's lifetime would have cost hundreds of dollars in fees against a TVL exposure measured in ten figures.

The attacker did not need signing keys. The two RPC nodes the verifier relied on were poisoned to return manipulated state data, while a denial-of-service attack forced failover away from the clean nodes. With the DVN signing off, the adapter released rsETH.


Impact

Liquidity Constraints in Aave

The attacker distributed 116,500 rsETH across seven sub-wallets, then moved through the broader DeFi stack. The first tracked lending borrow was a probe-sized Aave V3 WETH borrow on Ethereum at 17:40 UTC ($2,328); the first Compound V3 borrow followed a minute later at 17:41 UTC ($2.28M). Over the next two hours, the attacker opened 26 borrow positions across Aave V3 and Compound V3 totaling 94,583 WETH and 821 wstETH, worth approximately $225.9M.

i.Exploit
ii.Distribution
iii.Borrow
iv.Outflow
116,500 rsETH
116,500 rsETH across 7 wallets
rsETH collateral
rsETH collateral
rsETH collateral
LayerZero · OFT
rsETH Bridge Adapter
Origin EOA
Attacker wallet
0x1f...a9c4
Sub-wallet 1
0x1f4c...adef
Sub-wallet 2
0xeba7...129b
Sub-wallet 3
0xcbb2...55cc
Sub-wallet 4
0xbb6a...c787
Sub-wallet 5
0x8d11...2d49
Sub-wallet 6
0x1b74...44c
Sub-wallet 7
0xe9e2...d181
Aave V3 · Ethereum
rsETH eMode
borrow WETH
Aave V3 · Arbitrum
rsETH eMode
borrow WETH / wstETH
Compound V3
rsETH market
borrow WETH
Euler V2
rsETH vault
Ethereum
52,834 WETH
Arbitrum
29,786 WETH
821 wstETH
Ethereum
11,963 WETH

Borrow split across venues: $124.9M on Aave V3 Ethereum (52,834 WETH, 5 tx), $72.7M on Aave V3 Arbitrum (29,786 WETH and 821 wstETH, 19 tx), and $28.3M on Compound V3 Ethereum (11,963 WETH, 2 tx).

Both Aave V3 Core WETH pools climbed to 100% utilization within three hours:

WETH utilization on Aave V3 Ethereum Core
and Aave V3 Arbitrum Core.

Ethereum Arbitrum 95% reference Uoptimal 92%
50%100%0%17:3018:0019:0020:0021:0022:0023:00UTC timeUtilization

Source: Summerstone analysis. Reference line at 95% marks near-full utilization; Uoptimal (92%) is shown separately.

Both pools started the window below the 92% Uoptimal kink and crossed into the Slope2 region as the exploit propagated, then pinned at 100%. Once available WETH liquidity reached single digits, depositor withdrawals depended on new deposits and borrower repayments returned to the reserve.

The $6.2B Aave net outflow over 24 hours and the TVL move from $26.4B to $18.6B ran through more than WETH, including stablecoin reserves.

Decomposing the WETH Utilization Plateau

On the Aave V3 Ethereum Core and Aave V3 Arbitrum Core WETH pools, the attacker's own borrow accounts for essentially all of the utilization increase from baseline to peak. Withdrawals were substantial, but existing borrowers repaid loans in parallel on Aave V3 Ethereum Core, shrinking the borrow side at roughly the same pace the suppliers were exiting.

In the six hours after:

Utilization and available liquidity describe the same state from different vantage points:

Time UTCSupply WETHBorrows WETHAvailable WETH
17:30164,594.83146,254.0218,340.82
20:00144,895.11144,890.614.50
23:15130,379.80130,377.911.89

At the end of the 6-hour window, Aave V3 Ethereum Core utilization moved from 88.86% to 99.998%, while available liquidity fell from 18,341 WETH to 1.89 WETH. Utilization and available liquidity told different stories because suppliers, borrowers, and attacker debt moved together.

Aave V3 Ethereum Core WETH reserve

Borrows WETH Supply WETH
050k100k150k17:3018:0019:0020:0021:0022:0023:00UTC timeWETH

Source: Summerstone analysis. Time window: 15-minute buckets, April 18 17:30 to 23:15 UTC.

The exit response extended beyond WETH through two routes running in parallel.

Route A was direct: some Aave WETH suppliers, and some direct WETH holders, withdrew WETH and swapped to stables on DEXs. Aggregate Ethereum WETH-to-stable swap volume across Uniswap, Curve, and Balancer reached 19,100 WETH ($45.6M) over the six-hour window, with DEX flow picking up at 18:00–18:30 UTC, roughly an hour ahead of the Aave WETH withdrawal peak at 19:15–19:30 UTC.

Route B was indirect: suppliers borrowed stablecoins against existing Aave collateral instead of unwinding to WETH. Aave V3 Ethereum Core USDT utilization rose from 51.6% to 86.6% over the same window, a +35 pp move. USDC rose 4 pp and USDe was essentially flat; stable-borrow pressure concentrated on USDT specifically.

DEX liquidity absorbed the first wave, while Aave V3 Ethereum Core's USDT market absorbed sustained pressure, peaking at 86.6% at 23:15 UTC.

Borrowers Had No Clean Exit

Per the LlamaRisk March 2025 ARFC, rsETH e-mode carried a 93% LTV and 95% liquidation threshold, supporting maximum leverage of approximately 14.29x for WETH borrowed against rsETH collateral. A borrower at maximum leverage sits 2 percentage points below the 95% liquidation threshold. Thin but survivable under normal conditions, where a holder can add rsETH, repay debt, or exit. Under frozen markets: no new rsETH posted, no clean exit, elevated borrow rate accruing against a shrinking equity buffer.

At the moment of the drain, 18 non-attacker holders held Aave V3 Ethereum Core rsETH e-mode positions above 90% LTV, with aggregate collateral of $995.2M. 17 of those 18 were already above the 95% liquidation threshold, technically liquidatable, with $988.4M in collateral at risk.

Aave V3 Ethereum froze rsETH markets at 19:03 UTC, 88 minutes after the drain. A freeze in Aave V3 stops new supplies and new borrows but preserves liquidations and repayments: the 17 above-threshold positions were available for anyone to liquidate. Zero rsETH-collateral liquidation events occurred after the freeze and before the pause. The freeze formalized a state that had already become economically impossible.

On the borrower side, most affected holders made no adjustments. Of the 17 above-threshold users, four made partial adjustments within the first six hours. Repaying debt required WETH (constrained), reducing leverage required posting more rsETH (the freeze blocked it) and exiting at market required a functioning rsETH venue (none existed). The LTV distribution did not improve over 72 hours.

Aave V3 charges every WETH borrower the same rate, regardless of collateral. The WETH reserve has one interest rate curve. E-mode adjusts how much you can borrow against a given collateral but not the cost of the WETH loan. As Aave V3 Ethereum Core WETH utilization crossed 95% and later pinned at 100%, the reserve reached an 8.35% peak variable borrow APR. That rate applied to rsETH borrowers, weETH borrowers, wstETH borrowers, and anyone borrowing WETH against other collateral outside e-mode. Collateral-type risk is siloed by e-mode; rate-path risk is shared across every strategy borrowing from the same pool.

For leveraged rsETH e-mode borrowers, the elevated rate compounded the exit problem. What had worked as earning the rsETH staking yield (3 to 4% APR during this period) while paying the WETH borrow rate inverted at an 8% borrow cost: carry moved from roughly +1 pp to -4 pp. Closing the position required selling rsETH into a thin market or repaying WETH debt in a constrained reserve. Both paths were blocked.

The Rate-Curve Intervention

The Risk Stewards cut WETH rate-curve parameters on Aave V3 across Arbitrum, Base, Mantle, and Linea. On indexed reserves, Linea WETH reached 8.5% variable borrow APR over April 17-21, and Mantle WETH reached 10.5% before settling at 3.0% after the intervention.

Under a freeze, the rate curve's feedback mechanism breaks: high utilization signals high rates, but neither new supply nor borrower repayment can respond. The cost accrues. Aave's Slope2 is utilization-aware, but not duration-aware. Governance intervened manually because no automated decay existed to reduce the rate over time under a freeze. The rate-strategy contracts expose parameters that could support a time-aware design.

The rate cut reduced accrual pressure on leveraged rsETH borrowers. At 14x leverage (near the 14.29x e-mode max), a 9% pre-intervention borrow-rate assumption reduces equity by 0.21% per day. A 3% post-intervention borrow-rate assumption matches the 3% APR rsETH staking-yield input, so modeled staking income offsets modeled borrow cost. Over a 30-day freeze under the 9% pre-intervention assumption, the model shows 6.2% equity erosion for a max-leverage borrower.

Equity erosion under static vs post-intervention rate curves, 14x leverage

Post-intervention 3% Pre-intervention 9%
00.51051015202530Days since freeze startEquity index

Source: Summerstone analysis. Thirty-day equity trajectory at 14x leverage, using 9% and 3% borrow-rate assumptions and holding rsETH yield at 3% APR.

Leverage turns a rate change into a larger equity change. Our calculation applies (L−1)/365 to each 1 pp change in borrow APR: 21 bps per day at 14x, 10 bps at 7x, and 3 bps at 3x. For the 17 positions above the liquidation threshold, which held $988.4M of aggregate collateral and roughly $50M of equity, the uncut rate would have reduced equity by about 0.8% over the four-day Risk Stewards window. At 14x, the same calculation reaches the liquidation threshold after roughly 130 days of rate accrual and reaches zero equity after roughly 480 days. Under the 3% post-cut assumption, neither threshold is reached.

On April 23, Aave escalated the rsETH market posture from freeze to pause. A pause blocks operations on the paused rsETH reserve, including new supply, withdrawals, and liquidations against rsETH collateral. The rate cut adjusted the cost of holding a trapped position; the pause narrowed the remaining adjustment path to debt-side actions on reserves that were still open.

Liquidation Capacity and Spot-Market Slippage

The rsETH positions were technically liquidatable, but the market could not clear them. Just before the drain, Aave V3 Ethereum held 476,600 rsETH ($1.421B) of collateral across the Core and Lido instances, with nearly all of it on Core. In the prior 24 hours, rsETH DEX trading across Uniswap, Curve, and Balancer totaled $37K, and the largest trade was $23K. The Aave collateral position was roughly 38,000 times larger than that daily DEX volume.

A liquidation only works if the bonus covers the exit cost. Here it did not. Aave liquidators would receive a 1-2% bonus, but selling rsETH into the primary Uniswap V3 rsETH/WETH pool exceeded the 1% bonus at a 100 rsETH sale. At the April 18 open, the pool had approximately 8,285 rsETH of virtual depth on the rsETH side:

Sell size (rsETH)Approx. USDSlippage %vs. liquidation bonus
10$25K0.12%within 1% bonus
100$250K1.19%exceeds 1% bonus
1,000$2.5M10.8%5x the 2% bonus
10,000$25M54.7%exceeds 2% bonus
47,625 (10% of position)$119M85.2%exceeds 2% bonus

Source: Summerstone analysis. Slippage estimates for selling rsETH into the primary Uniswap V3 rsETH/WETH pool at the April 18 open.

The 1% bonus stops covering slippage at approximately 84 rsETH. The 2% bonus stops covering slippage between 150 and 180 rsETH. The Aave collateral position was 476,600 rsETH, roughly 2,700 times the larger break-even lot size. Liquidating even 1% of the position, 4,763 rsETH, would have cost approximately 42% in slippage against a 2% bonus.

Actual trading showed the same constraint. On April 17, the baseline was 45 trades, 9.8 rsETH, $25.4K of total volume, and a largest trade of 1.85 rsETH. During the acute six-hour window, volume rose to 451 trades and 7,602 rsETH ($19.0M), roughly 750 times the baseline. But the average trade was 16.9 rsETH, the largest sell was 1,250 rsETH, and observed primary-pool sells mostly cleared with less than 10 basis points of slippage. The market processed many small exits, not liquidation-sized sales.

Pool depth also fell. Virtual rsETH depth moved from 8,285 to 6,217 between the April 18 and April 19 opens, a 25% withdrawal of LP capital. The available exit route shrank during the stress window.

The secondary-market exit could not absorb the collateral size. The freeze prevented forced clearing into a market that did not have enough depth.

The Source-Side Exit: Kelp's Withdraw Queue

Kelp's native redemption path did not absorb the stress. Kelp's withdrawal-manager and deposit-pool contracts paused at 18:21 UTC on April 18, before Aave V3 Ethereum froze rsETH.

Standard withdrawal requests stayed within recent queue activity before the pause. From April 1 through April 17, withdrawal requests averaged 5.4 per day, while completions averaged 5.3 per day. On April 18, users submitted three requests for 552.9 rsETH before the pause.

Queue processing also stopped rather than scaled. The withdrawal-manager unlock event shows baseline processing near 66 rsETH per day; on April 18, one unlock batch processed 0.039 rsETH before activity stopped.

Instant withdrawals do not change the conclusion. Fee events show two instant-withdrawal events from one user between the drain and the pause, both before 18:17 UTC. The fee events confirm that instant withdrawals occurred, but they do not show the amount of rsETH redeemed.

The source-protocol exit was switched off before withdrawal demand broke from recent activity.

The Risk Model Missed Supply Integrity

  • Supply integrity was not modelled. The March 2025 Aave ARFC reviewed rsETH depeg, ETHx slashing, liquidation capacity, and leverage exposure. The exploit instead changed how many rsETH claims existed without changing how much ETH backed them: Ethereum had approximately 629,722 legitimate rsETH outstanding before the drain, and the forged 116,500 rsETH lifted supply by 18.5%. One in every six rsETH on Ethereum no longer had matching backing.

  • CAPO watched the exchange rate, not the backing base. The lending market kept reading collateral value from a price input that no longer captured the asset's claim structure.

  • The freeze bought time and trapped balance sheets. It stopped new rsETH supply and prevented further collateral expansion, but borrowers still needed WETH to repay and kept accruing interest while collateral-side paths were closed.

How Lending Markets Processed the Shock

The question after the Aave freeze was not only who held rsETH. It was which markets could still process exits, borrowing demand, and collateral movement without spreading the same constraint to every borrower.

Spark Had Already Narrowed the Route

Spark began deprecating rsETH on January 29, 2026. The action froze the rsETH reserve, preventing new rsETH supply while leaving existing positions intact. The same day, Aave launched rsETH e-mode, allowing users to borrow WETH against rsETH at high capital efficiency.

PhoenixLabs framed the decision as efficiency and risk-surface cleanup: rsETH generated low usage, concentrated activity, and weak risk-adjusted return. Spark stepped away from the collateral just as Aave opened a more attractive venue for rate-sensitive rsETH borrowers.

Spark had not built its WETH market around the high-leverage rsETH loop. When borrowers and suppliers looked for another venue, Spark had capacity because it had already decided the collateral did not justify the capital it would tie up. That is the point, not that Spark predicted the bridge exploit.

After April 18, Spark's residual rsETH exposure totaled $37,300 (15.32 rsETH).

Spark had two protections: it had already reduced the asset's path into the market, and the remaining market design would have capped the damage if that path had stayed open.

Spark's Three Structural Protections

Spark also had three controls that would have limited the same shock even if rsETH had remained listed.

Spark controlWhat it limitsWhy it mattered for rsETH
Rate-limited supply capHow much new collateral can enter over a time windowForged rsETH could not enter the market all at once
Borrow capHow much WETH can be extracted from the marketEven if unbacked collateral enters, the debt side has a hard ceiling
Three-party median oraclePrice input from multiple independent feeds, with Uniswap TWAP fallbackA single feed cannot move the lending-market price on its own

These controls do not need to identify the bridge exploit in advance. They cap how much collateral can enter, how much debt can leave, and how quickly a price input can change lending state. The median oracle would not solve dilution by itself, but paired with supply and borrow caps it would have reduced the amount of unbacked collateral that could turn into borrowed WETH.

Rotation Followed Available Capacity

The same leveraged LRT/WETH trade existed outside Aave across Morpho, Spark, Fluid, and Upshift, with yield-venue exposure through Yearn and Beefy. Pendle was not an active rsETH route during the incident: its mainnet PT-rsETH markets had expired and Ethereum showed no rsETH-linked Pendle V2 swap activity.

On Morpho, markets are isolated at the pool level. Each collateral/loan pair has its own rate curve and capital.

Spark became the clearest destination for borrowers and suppliers leaving Aave-linked routes. Spark recorded 23,881 WETH ($55M) of new WETH borrows across 208 transactions from 42 unique wallets, after borrowers had repaid 737 WETH net in the prior 24-hour baseline. Net deposit inflows reached 40,088 WETH ($92M), 58,264 wstETH ($166M), and 14,179 weETH ($36M), a combined $293M net inflow. The rotation was not only a flight from Aave; it was a search for markets where collateral and debt could still be adjusted.

The first visible Aave-to-Spark move was the atomic migration by 0xb8a451 at 19:51 UTC on April 18. By April 23, cumulative net supply inflows to Spark across WETH and LST collateral had reached $1.14B, with wstETH deposits alone accounting for $813M, and cumulative net new WETH borrows grew to $170M.

The wallet-level overlap supports direct rotation without overstating it. Thirty-eight same-wallet, same-asset overlaps withdrew $228.6M from Aave V3 Ethereum and deposited $304.7M into Spark during the 24-hour incident window. Not all Spark inflow came from matched Aave withdrawals, but the pattern was visible.

Compound V3 and Euler both froze rsETH markets. On Compound V3 the attacker had already opened 11,963 WETH ($28.3M) in two transactions before the freeze. Euler's attacker-side exposure was smaller, and no public dollar figure has been confirmed.

Across WETH, wstETH, and weETH, Aave V3 Ethereum shed $4.48B net supply from April 18 through April 23. Spark recorded $1.10B net inflow across the same three assets over the same dates, or $1.17B of positive inflow from April 19 through April 23 after its April 18 outflow.

Curators on rsETH-Exposed Vaults

Morpho's isolated-market design contained the direct rsETH impact. The rsETH/WETH Morpho Blue market held approximately 529 WETH ($1.2M) in total supply on April 17, 2026, concentrated in 2 supplier positions per Morpho's post-incident reporting. The April 24 Morpho UI snapshot shows two material lenders: MEV Capital's wETH MetaMorpho vault at 76.56% of market supply and a karpatkey-managed Gnosis Safe multisig at 23.43%.

The karpatkey position requires a mandate distinction. karpatkey operates two categories on Morpho: curated MetaMorpho vaults under the KPK brand (KPK ETH Prime, etc.), and direct-lending positions held by DAO treasuries under management mandate. The 0x58e6 multisig is a DAO client's direct lending decision through a karpatkey-managed Safe. KPK ETH Prime held its own direct rsETH exposure capped at approximately 2.3% of vault TVL.

karpatkey's curator-side response was active. Exit agents activated within minutes, zeroing supply caps and withdrawing available liquidity as the rsETH/WETH market allowed. The rsETH position was fully exited by April 23, no user funds lost, no bad debt incurred. Deposits on KPK ETH Prime, KPK ETH Yield, and KPK USDC Prime were paused during the incident; the latter two had no direct rsETH exposure but were paused to prevent secondary effects, and have since re-enabled. KPK ETH Prime and KPK ETH Yield avoided direct rsETH losses, but withdrawals remained constrained where their Morpho allocations were tied up in low-liquidity ETH markets.

Gauntlet and Re7 Labs had historical rsETH allocations on the same Morpho market but had net-withdrawn before April 17, leaving their balance at effectively zero. Steakhouse Financial self-disclosed less than $0.01 in KelpDAO exposure and had exited pre-incident.

The MEV Capital wETH vault lost 38.6% of TVL over the April 17 to April 22 window, the largest drawdown among MetaMorpho vaults tracked. MEV Capital was operating from a collapsed AUM base ($1.5B October 2025 peak to approximately $300M by February 25, 2026) following the October 10, 2025 event, with Belem Capital having absorbed the team in February 2026.

Six-day TVL change across the top tracked MetaMorpho vaults by April 17 TVL

not limited to rsETH-exposed vaults

0%-10%-20%-30%-40%-5.8%Steakhouse Financial-15.7%Gauntlet-30.7%Gauntlet-38.6%MEV Capital-10.9%Re7 LabsCurator vaultTVL change

Drawdowns elsewhere in the tracking set were smaller. Gauntlet vaults lost between 15.7% and 30.7% of TVL. Re7 Labs lost 10.9%. Steakhouse Financial lost 5.8%. These reflect total deposit and withdraw activity, not rsETH exposure.

Morpho Markets Moved Separately

Morpho did not transmit rsETH loss across markets. Each WETH-denominated LRT market kept its own borrowers, suppliers, and rate curve. That contained the direct rsETH problem, but it did not remove WETH demand from nearby markets.

  • rsETH/WETH was the direct route. Supply fell from 529.6 to 519.3 WETH, while borrows rose from 464.0 to 519.3 WETH. Available liquidity went from 65.5 WETH to zero.
  • weETH/WETH absorbed new supply, but borrow demand took it faster. Supply rose from 26,201 to 29,308 WETH, while borrows rose from 23,505 to 29,302 WETH. Available liquidity fell from 2,696 WETH to 5 WETH.
  • wstETH/WETH largest market compressed on both sides. Supply fell from 39,853 to 30,394 WETH, and borrows fell from 35,877 to 27,411 WETH. Utilization stayed near 90% because borrowers unwound as allocators withdrew.
  • wstETH/WETH medium reached full utilization. Supply rose from 1,146 to 1,273 WETH, while borrows rose from 1,003 to 1,273 WETH. Available liquidity fell from 143 WETH to zero.

What Market Design Changed

The same forged collateral created different market outcomes because the lending designs exposed different paths. Morpho contained direct liquidation risk inside one market. Aave shared WETH liquidity across collateral types, turning an rsETH-specific event into a WETH-wide rate and liquidity event. Spark kept pooled lending mechanics, but its listing posture had already narrowed the rsETH path into the market.

VenueMarket structureWhat the rsETH shock could reachObserved outcome
MorphoIsolated collateral-borrow marketsThe rsETH/WETH market's own lenders and borrowersrsETH/WETH hit 100% utilization, but its liquidation state did not drain WETH from weETH/WETH or wstETH/WETH markets
AaveShared reserve per borrowed assetEvery borrower using the same WETH reserve, regardless of collateralEthereum Core WETH utilization reached 100%, available WETH fell from 18,341 to 1.89, and the WETH rate moved for all borrowers
SparkAave-style pooled markets with tighter listing and cap choicesA smaller rsETH path, because the asset was already being deprecatedResidual rsETH exposure was $37,300; Spark later recorded net inflows across WETH, wstETH, and weETH

That distinction matters for the broader LRT market. stETH, wstETH, rETH, cbETH, weETH, ezETH, and pufETH did not show issuer-level backing impairment during the April 18 to 22 window. Lido's $21.6M of stETH held in affected Aave wallets was lending-venue exposure, not a stETH backing problem. The weETH/WETH and wstETH/WETH Morpho markets also reached high utilization without direct rsETH exposure. The asset-class label said little about which positions were stressed. The route into and out of the lending venue mattered more.

Stablecoin Borrow Spillover

The stablecoin move began as a substitute exit path. When WETH liquidity tightened, some Aave users borrowed stables against remaining collateral instead of unwinding through WETH.

USDT utilization on Aave V3 Ethereum rose from 51.6% to 86.6% between 17:30 and 23:15 UTC on April 18, a 35 percentage-point move. USDC moved only from 51.2% to 55.0% in the same six-hour window; USDe moved from 39.2% to 42.3%.

Over the April 17 to 22 window, USDT and USDC both peaked at 93.1% on Aave V3 Ethereum, while USDS moved from 84.6% to 92.0%. On Arbitrum, USDT moved from 49.9% to 92.1%; USDC was already at 92.1% and only reached 92.3%.

Wallet-overlap analysis identifies 448 Aave V3 wallets with $196.4M in aggregate new stable-borrow notional. Each wallet had supplied LRT collateral (rsETH, weETH, wstETH, or ezETH) before the exploit and initiated fresh stable borrows between April 18 17:30 UTC and April 22 23:59 UTC.

StablecoinWalletsNew borrow notional
USDC301$114.09M
USDT55$42.84M
USDS23$23.45M
GHO103$15.98M
Total448$196.37M

Source: Summerstone analysis. Aave V3 wallets with LRT supply before April 18 that initiated new stable borrows during the window. Repayments are not separately removed, so the aggregate is an upper-bound proxy for net new stable exposure.

The substitution through stable borrowing routed mostly through USDC. monetsupply's $300M figure describes total Aave stablecoin borrow growth at the pool level over the first 24 hours. The $196.4M is a traced subset of the same dynamic. It isolates wallets that had supplied LRT collateral before the exploit and then borrowed stables over the following five days.


Lending Standards After rsETH

What Issuers Did Next

Issuer responses fell into four groups: stronger verifier requirements, fewer supported routes, alternative bridge paths, and routes that stayed paused.

A Dune analysis of 2,665 active LayerZero OApp contracts found 47% on 1-of-1 DVN configurations before the incident. The count explains why the response widened from rsETH remediation into a LayerZero-wide configuration review.

TierPre-incident OApp share (count basis)
1-of-1 DVN~47% (1,252 of 2,665 OApps)
2-of-2 DVN~45% (1,199 OApps)
3+ DVNs~5% (133 OApps)

Source: Dune Analytics LayerZero DVN configuration dashboard, contract-count basis.
TVL distribution across tiers is not published.

Onboarding Criteria for Wrapped and Bridged Assets

Before classifying an asset as an LRT, BTC wrapper, or stablecoin, a lending market needs to identify how the asset moves across chains and which parties can make or break that movement.

Bridge modelWhat verifies the transferWhat listing teams need to inspect
Native / canonicalThe source and destination chain's canonical bridge pathChain security, withdrawal delay, and whether the asset is native to the target market
External verifier setA multisig, MPC group, DVN set, or oracle committeeVerifier count, independence, threshold, signer operations, and failure history
Configurable messaging systemAn issuer-selected security stack, often mutable after deploymentCurrent verifier config, who can change it, defaults, and whether provider authority remains
Light-client / ZK verifiedCryptographic verification of source-chain stateProof-system maturity, latency, implementation risk, and operational fallback
Issuer burn-and-mintThe issuer's own mint and burn processIssuer solvency, mint authority, redemption process, and circuit breakers

Source: Bridge model categories adapted and revised from Eco's cross-chain messaging security overview. LayerZero-specific configurable security details are from LayerZero's KelpDAO incident statement.

The review should cover five points:

For lending designers, the asset label is not enough. The listing has to price the path that brings the asset into the market.

Who Absorbs the Shortfall?

The rsETH shortfall did not remain with the bridge or issuer. Once forged supply entered lending markets, the question became who would absorb the gap without forcing disorderly liquidation or permanent bad debt.

New capital became the first backstop. DeFi United coordinated commitments from Aave, LayerZero, KelpDAO, EtherFi, Lido, Golem, and other participants to restore rsETH backing and normalize market conditions. Aave proposed a 25,000 ETH treasury contribution; DeFi United lists EtherFi at 5,000 ETH and Consensys + Joseph Lubin at 30,000 ETH; LayerZero pledged more than 10,000 ETH across a 5,000 ETH donation, a 5,000 ETH Aave market deposit, and GHO liquidity support; Lido contributed 2,500 stETH; and Kelp contributed 2,000 ETH from its treasury, among others.

Aave Labs also proposed using attacker positions as a recovery route. It submitted an AIP to liquidate identified attacker positions on Aave V3 Ethereum Core and Arbitrum, seize 89,567 rsETH, and route recovered collateral to a Recovery Guardian Safe. The public record supports this as a proposed path, not an executed recovery; the governance interface shows the AIP as canceled, and the linked forum discussion does not state why.

The frozen Arbitrum ETH remained a potential recovery source, but ongoing legal disputes over control of those funds meant it could not be treated as available recovery capital.


What Changes for the Next Lending Stack

The rsETH exploit showed how quickly forged collateral can become a lending-market liquidity problem. For lending designers, the listing question is no longer only whether an asset can hold its peg. It is whether the market can limit bad supply, keep exits open, price trapped debt fairly, and liquidate collateral at the size it has accepted.

Aave, Morpho, and Spark processed the same shock differently because their markets exposed different paths. The next lending stack does not need to predict every bridge exploit, but limit how far an unbacked asset can travel before humans intervene.


Methodology

Scope

This report analyzes the April 18, 2026 rsETH exploit as a lending-market stress event. The focus is how forged rsETH moved through bridges, lending venues, liquidation paths, rate curves, and recovery capital after the bridge failure. The analysis covers the LayerZero-powered rsETH bridge failure and the 1-of-1 DVN configuration; attacker wallet distribution and borrowing across Aave V3, Compound V3, and related lending venues; Aave V3 WETH utilization, available liquidity, borrower constraints, and rate-curve intervention; spot-market liquidation capacity for rsETH on Ethereum DEX venues; source-side Kelp withdrawal and pause behavior; rotation into Spark and Morpho market behavior during the incident window; and issuer and bridge-configuration responses after the exploit.

Outside of scope:

  • A full legal assessment of recovery claims or frozen attacker funds. A full audit or security assessment of LayerZero, KelpDAO, Aave, Compound, Morpho, Spark, or Euler contracts.
  • A fault-allocation assessment of disputed post-incident claims between KelpDAO and LayerZero, including Kelp's May 5 claim that additional forged transactions were signed and processed by the LayerZero Labs DVN but blocked after Kelp intervened.
  • A complete valuation of every affected user balance sheet.
  • A full TVL-weighted census of every LayerZero OApp configuration; the LayerZero DVN count is cited on a contract-count basis where TVL distribution is not published.
  • A forward-looking recommendation for any specific governance vote beyond the market-design implications described in the report.

Definitions and Interpretations

  • rsETH: Kelp DAO's liquid restaking token. In this report, "legitimate rsETH" means rsETH backed by corresponding source-side collateral; "forged" or "unbacked" rsETH means rsETH released through the exploited bridge path without a corresponding deposit.
  • DVN: Decentralized Verifier Network. A verifier selected in LayerZero V2 application configuration to attest cross-chain messages. A 1-of-1 DVN is a bridge configuration in which one verifier is sufficient to authenticate a message. In this incident, that made the bridge dependent on one verifier's view of source-chain state.
  • eMode: Aave V3's efficiency mode for correlated assets. It raises borrowing power for assets treated as correlated but does not create a separate borrow rate for a collateral type.
  • Utilization: Borrowed amount divided by supplied liquidity in a lending reserve or isolated market. For Aave V3 WETH utilization charts in this report, utilization is reconstructed from reserve rate updates using the relevant pre-incident interest-rate parameters.
  • Uoptimal: The utilization kink in Aave's interest-rate strategy. Above Uoptimal, borrow rates move into the steeper Slope2 region.
  • Near-full reference: A 95% utilization line used as a visual reference for near-full liquidity conditions. It is not the Aave interest-rate kink.
  • Freeze: In Aave V3, a reserve state that prevents new supply and new borrows while preserving repayments and liquidations.
  • Pause: A stricter reserve state that blocks operations on the paused reserve, including liquidations against that collateral.
  • Liquidation capacity: The amount of collateral that can be profitably sold by liquidators after accounting for liquidation bonus, pool depth, and slippage.
  • Virtual depth: The effective pool-side liquidity implied by the Uniswap V3 liquidity distribution at a point in time. It is used here to estimate price impact for rsETH sell sizes.
  • Borrow spillover: New borrowing activity in adjacent assets or venues that appears after the initial rsETH/WETH route becomes constrained.
  • Rotation: Wallet or market-level movement from one lending venue to another during the incident window. Same-wallet overlap is treated as evidence of direct rotation, but not all destination inflow is assumed to come from the source venue.

Data Sources

  • Dune Analytics queries: Summerstone Dune analyses are used for attacker wallet distribution, lending borrow totals, Aave utilization, Aave supply and borrow reconstruction, DEX slippage, rsETH DEX activity, Kelp withdrawal events, Morpho market states, Spark flows, Aave-to-Spark wallet overlap, stablecoin borrow spillover, and MetaMorpho vault drawdowns. Charts in the article are rebuilt from the linked Summerstone Dune query outputs and styled for the website; query links are included inline and in figure/table captions.
  • Protocol governance and documentation: Aave governance forum posts, Aave governance proposals, Risk Steward actions, Aave documentation, LayerZero documentation, LayerZero's KelpDAO incident statement, KelpDAO communications, and issuer post-incident bridge updates.
  • Onchain explorers: Etherscan, Arbiscan, Basescan, Mantlescan, and Lineascan links are used for rate-strategy and governance execution references where available.
  • Protocol applications and dashboards: Aave, Morpho, Spark, DeFiLlama, Dune dashboards, and protocol UIs are used for market state, exposure, and supporting context.
  • Public post-incident reporting: Public statements and coverage from Aave, LayerZero, KelpDAO, EtherFi, Lombard, WBTC, Lido, DeFi United, Sam MacPherson, karpatkey/KPK, Steakhouse Financial, and other cited sources are used where onchain data alone does not identify operator decisions or recovery commitments.

Known Limitations

  • Dune indexing and schema coverage: Quantitative results depend on Dune's indexed tables, decoded events, and spell coverage at query time. Missing decodes, delayed indexing, or table-model limitations can affect completeness.
  • Attacker wallet attribution: The attacker-wallet set is based on tracked onchain distribution and borrow activity. It may not capture every related wallet or offchain control relationship.
  • Euler exposure: The report notes smaller Euler-side exposure where public reporting referenced it, but the attacker-borrow query used for venue totals returned no Euler rows in lending.borrow. Euler is therefore not treated as a confirmed attacker outflow in the diagram.
  • USD values: Dollar figures use query-time or window-specific price assumptions and should be interpreted as approximate notional values.
  • Slippage estimates: rsETH slippage calculations model sells against the primary Uniswap V3 rsETH/WETH pool at the April 18 open. Actual execution would depend on routing, timing, MEV, pool state changes, and liquidity provider behavior.
  • Withdrawal queue interpretation: Kelp withdrawal-manager events show request, unlock, pause, and fee activity, but instant-withdrawal fee events do not by themselves reveal the redeemed rsETH amount.
  • Recovery capital: Public commitments and proposed governance actions are reported from cited sources. A proposed recovery path is not treated as executed unless the public record states execution.
  • Stable-borrow tracing: The stablecoin borrower subset isolates wallets with pre-incident LRT supply that initiated stable borrows during the window. Repayments are not separately removed, so the traced amount is an upper-bound proxy for net new stable exposure.
  • Bridge configuration census: The LayerZero DVN dashboard is cited on a contract-count basis. TVL distribution across configuration tiers is not published, so contract share should not be read as value-at-risk share.