MIP-X43 cbETH Oracle Incident Summary

cbETH Oracle Incident Post-Mortem

At 6:01 PM UTC on February 15, 2026, MIP-X43 was executed, enabling Chainlink OEV wrapper contracts across the core markets on Base and Optimism. One of the oracle configurations contained a critical error: instead of correctly deriving the USD price of cbETH by multiplying the cbETH/ETH feed by the ETH/USD price, the oracle used only the raw cbETH/ETH exchange rate. This misconfiguration caused the oracle to report cbETH’s price as approximately $1.12 (reflecting the cbETH/ETH ratio of ~1.12) rather than the intended market value of roughly $2,200.

As a direct result liquidation bots immediately targeted cbETH collateral positions, seizing large amounts of cbETH while requiring only minimal debt repayment (effectively repaying ~$1 of debt to seize 1 cbETH). This wiped out most or all of the cbETH collateral for many borrowers, while leaving substantial bad debt on their positions since the repaid amount was far below the actual borrowed value. A smaller number of users exploited the distorted pricing to supply minimal collateral, massively over-borrow cbETH at the artificially low reported price, and instantly generate additional bad debt denominated in cbETH. A list of these addresses can be viewed here.

At 6:05 PM UTC on February 15, our monitoring systems detected the oracle discrepancy and alerted us and the Moonwell team. We quickly responded by reducing both the supply and borrow caps for the cbETH market to 0.01, preventing any new borrows and stopping additional users from supplying collateral into the mispriced market. However, liquidations continued because correcting the oracle requires going through a 5-day governance voting and timelock period, which could not be bypassed. As of February 16th, a governance proposal is slated to go up that will patch this error.

When the dust settled 1096.317 cbETH was seized by liquidators, and the protocol was left with $1.78M in bad debt across various markets, with the majority of it in the form of cbETH.

Bad Debt Summary

Asset Bad Debt (tokens) Bad Debt (USD)
cbETH 467.7555896 $ 1,033,393.71
WETH 239.6643802 $ 478,998.02
USDC 232607.2797 $ 232,584.02
EURC 9719.35397 $ 11,566.03
cbBTC 0.16685141 $ 11,442.17
cbXRP 5481.145179 $ 7,947.66
DAI 1520.178946 $ 1,520.03
USDS 1053.312414 $ 1,052.15
AERO 642.4149872 $ 204.87
MORPHO 126.2302566 $ 171.67
wstETH 0.06824221 $ 164.49
Total - $ 1,779,044.83

This link leads to a spreadsheet with multiple tabs containing information on user positions with materialized bad debt, liquidations involving cbETH as collateral, and addresses over-borrowing cbETH.

The following website contains the most up-to-date information on all addresses who were unfairly liquidated during the incident: https://cbeth-remediation.vercel.app/

1 Like

The important question, what is going to happen to those people who supplied cbETH and they didn’t use collateral, will they lose everything?

I propose that all the lending markets in Moonwell make it so a single wallet can’t borrow more than 50% of the cumulated value of the pool reserves per hour, that way if something like this happens again the pool won’t lose the entire TVL contained inside it but 50% of the reserves, and this would bring more protection to users.

If after 1 hour everything is ok this wallet can borrow 50% of the cumulated value of the pool reserves again.

Something like this would have prevented this tragedy and the only thing lost would be the value equivalent of the pool reserves.

4 Likes

I was affected by this since i had 2.6cbETH supplied to moonwell and was borrowing about 2k USDC against this. I also had some AERO and Virtuals which got liquidated with it as can be seen in the images provided with this message.

Hopefully we can expect reimbursement on our leveraged assets since this has nothing to do with volatile price movement like 10/10 flash crash or a hacker like in november but simply a protocol error made by moonwell/anthiaslabs affecting us suppliers/lenders.

2 Likes

Still the users supplying cbETH and borrowing some other asset against it (like myself) would have been affected by the error in making the price of cbETH 1.12$.

On another note what you are saying should be a good implementation aswell to atleast stop people from abusing it on the other side.

Sloppy… proposal oversight needs complete reform. Judicious review. It’s the only path to restore trust. Or, strip it down and give it to mamo and sunset Moonwell.

Using the spreadsheet provided you would be able to calculate each wallet’s net loss on their position, so meaning the cbETH they had minus the debt they had on their wallet.

This is a way more feasible amount of funds that could be reimbursed to the community. This implies not all 1096cbETH should be payed back.

It could be closer to 20% of the cbeth if everyone would have a health factor of 1. For me with a health factor 0f 2.13 my net loss is 61%. Take me as the average it would be about 666cbETh to be repayed.

Just tracking 2 of the top wallets in the list there is already 350k dollars in debt that can be substracted from the 1096cbETH so that’s minus about 114.5cbETH.

I think we should calculate the liquidation fees for borrowers against cbETH and refund them. @AnthiasLabs - can you please calculate the losses for the borrowers so we can prepare a governance proposal to make them whole? Thanks.

6 Likes

What are the next steps?

I think the loss ratio depends on other factors, the document does not include chained liquidations. Prior this incident, my moonwell portfolio looked like:

Token Supplied Borrowed
VIRTUAL 793.973985587208 0
cbETH 17.860540402447 0
WETH 0.000000000206280641 4.326784164492
MAMO 18,655.898782511364 0
USDC 0 27,022.617275
AERO 6,827.570118519158 0
WELL 544,028.935457311844 0
wstETH 8.179887466299 0
cbXRP 574.441761 0
cbBTC 0.13305737 0

tldr supplied $80k-ish, borrowed $35k-ish

In this incident, 100 % of my collateral was liquidated, leaving me with $3.5k bad debt.

So in my case I lost slightly more than 100% of my cbETH collateral.

1 Like

It already happened, why wasn’t it resolved in the same way as AAve, that they have two oracles? After all, it’s the most important thing for the trustworthiness of the protocol.

Compensate the users or shut down the platform due to incompetence. Two options and nothing in between. Period.

I borrowed USDC against a number of assets (cbETH, cbBTC, tBTC, ETH) Most of the non-cbETH assets were liquidated when cbETH was marked at $1.12. What is the plan to have these assets refunded?

No plan communicated yet

Thank you for this. I hope this counts for suppliers of cbETH and the cbETH those people lost aswell. I would like to be made whole again after this protocol error. :slight_smile:

no reason for fud, oracle is not in the power of moonwell

Security mechanisms and proper code, however, do.

I was affected by several assets being liquidated with cbETH being my largest. Wiped out while still having bad debt. Maintained a very healthy LTV even paid down some 1 week prior. Should be made whole prior to the event if these protocols want to be taken seriously.

4 Likes

I track my moonwell everyday. I do everything right. I always make sure my Credit to loan is at a good amount. This liquidation feels more like robbery than error. I have all my portfolio stored in moonwell because I thought it was “safe.” Yet, I got completely liquidated. It feels like years of hard work and daily staking feels waste. Please recompensate those at loss, I have no idea what to do at this point.

5 Likes

@0xrobinhood But an oracle misconfiguration injected by a governance proposal is in the power of Moonwell. Read this and make of it what you want:

https://x.com/pashov/status/2023872510077616223
and even more details here:
https://x.com/moo9000/status/2024040101982990534

I’d love to have the team comment on this officially.

3 Likes

yes sorry, I was wrong…first it looked like last time, when the oracle price was wrong

its all over twitter now, guess they have to comment…but I guess its not a big deal, more important that users get a compensation

1 Like