wrsETH Oracle Malfunction 11/4/25

What Happened

At approximately 5:44 AM UTC on November 4th, an incident occurred involving the wrsETH market on Base. Due to an oracle malfunction, wrsETH collateral was drastically overvalued enabling an attacker to borrow millions in various assets using minimal wrsETH collateral.
The protocol prices wrsETH using two Chainlink oracles: an ETH/USD oracle and a wrsETH/ETH oracle. To derive the USD price of wrsETH, the protocol multiplies these two feeds together. The issue originated from the wrsETH/ETH oracle, which erroneously reported that 1 wrsETH equals 1,649,934.60732 ETH—valuing a single wrsETH token at approximately $5.8 billion.
Notably, this was the same user responsible for the 10/10/25 exploit.

Attacker (contract): 0x42ecd332d47c91cbc83b39bd7f53cebe5e9734bb
Attacker (EOA): 0x6997a8c804642ae2de16d7b8ff09565a5d5658ff
ETH/USD oracle: 0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70
wrsETH/ETH oracle: 0xd7221b10FBBC1e1ba95Fd0B4D031C15f7F365296

The first massive faulty reading from the wrsETH/ETH oracle occurred at precisely 5:44:55 UTC, and the attack was executed within 30 seconds of this malfunction.

Transaction Details

The attack started on block 37722875 with the first transaction (hash: 0x229caeb87e0b6c31afad950150d2ba05a8d7fe823c9e5c05af63b4150b8f6cc6) flash loaning 0.00065 wrsETH to withdraw 1.206M cbXRP. This was followed by a set of 11 transactions::

Timestamp Transaction Hash Borrowed Token Token Amount
Nov-04-2025 05:44:57 AM +UTC Base Transaction Hash: 0x229caeb87e... | BaseScan cbXRP 1.206M
Nov-04-2025 05:44:59 AM +UTC Base Transaction Hash: 0xecb1c96e15... | BaseScan EURC 80k
Nov-04-2025 05:45:01 AM +UTC Base Transaction Hash: 0x7855a861bb... | BaseScan EURC 73.3k
Nov-04-2025 05:45:03 AM +UTC Base Transaction Hash: 0xc5daf8bfea... | BaseScan USDC 80k
Nov-04-2025 05:45:05 AM +UTC Base Transaction Hash: 0xa5f60967fc... | BaseScan AERO 101k
Nov-04-2025 05:45:23 AM +UTC Base Transaction Hash: 0x815715adbf... | BaseScan AERO 101k
Nov-04-2025 05:45:11 AM +UTC Base Transaction Hash: 0x190a491c0e... | BaseScan wstETH 21
Nov-04-2025 05:45:13 AM +UTC Base Transaction Hash: 0xff3075de35... | BaseScan wstETH 20.5
Nov-04-2025 05:45:15 AM +UTC Base Transaction Hash: 0x76911abc58... | BaseScan wstETH 20.5
Nov-04-2025 05:45:21 AM +UTC Base Transaction Hash: 0x5cd5b182e8... | BaseScan wstETH 20
Nov-04-2025 05:45:17 AM +UTC Base Transaction Hash: 0xd74224baa3... | BaseScan cbETH 24
Nov-04-2025 05:45:19 AM +UTC Base Transaction Hash: 0x26abab9dd1... | BaseScan cbETH 24

The borrowed tokens were atomically swapped to WETH in the same transaction and sent to the attacker’s original address (0x6997a8c804642ae2de16d7b8ff09565a5d5658ff). All of these transactions combined led to a total bad debt of $3.7M on Moonwell.
The address can be viewed on Debank here: 0x42ecd332d47c91cbc83b39bd7f53cebe5e9734bb

What We Did

Immediately following the exploit we zeroed out supply and borrow caps for wrsETH, effectively pausing activity in the wrsETH markets on both Base and Optimism. This ensures wrsETH can no longer be supplied or borrowed by any new users. We also reduced borrow caps in all markets on base and optimism (reducing them all to 0.1), temporarily pausing additional borrows across all markets. This is done to mitigate the risk of any previous wrsETH suppliers over-borrowing if the oracle continues to give incorrect prices. This restriction will be lifted once a fix to this oracle is in place.

3 Likes

Thanks for producing this in a timely manner. While the bad debt is a concern, I’m more focused on today’s outflows. Will there be a report detailing the outflows and effects on TVL? Thx… just calculated a rough estimate of -$284Million outflows yesterday…

What exactly was the “oracle malfunction”?. Why did it return the price it returned?