[Anthias Labs] Report on the Events of October 10th, 2025

On October 10th, 2025, global crypto markets experienced severe turmoil following the Trump administration’s announcement of 100% tariffs on Chinese goods. Bitcoin plummeted from $122,509.66 to $104,582.41 (14.63% drop), while Ethereum crashed from $4,395.57 to $3,460.22 (21.28% decline).

This macro-driven selloff was amplified by structural vulnerabilities in Binance’s Unified Account margin system, where assets like USDe, wBETH, and BNSOL were valued using internal order-book data rather than external oracles. This flaw, exposed in an 8-day window before a planned fix, contributed to over $19 billion in global liquidations - the largest liquidation event in crypto history.

Moonwell experienced over $12 million in liquidations across all four chains during this period. However, on Base specifically, the protocol suffered an exploit that resulted in approximately $1.7 million in bad debt.

The Exploit (Base)

Amidst the market chaos, an attacker identified and exploited severe price divergences between Moonwell’s oracle feeds and on-chain DEX prices. During this period, oracles were quoting significantly lower prices than DEXs, potentially due to heavy reliance on Binance data. The extreme volatility in oracle pricing created ideal conditions for exploitation - for example, the oracle price for VIRTUAL crashed 80% in 5 minutes before rebounding 66% in the following 15 minutes.

Attack Methodology

The attacker executed a series of atomic transactions following this sequence:

  1. Flash loaned large amounts of cbBTC or USDC
  2. Deposited the flash-loaned assets into Moonwell as collateral
  3. Borrowed VIRTUAL, MORPHO, or AERO tokens at maximum capacity, leveraging the high collateral factors of USDC (88%) and cbBTC (85%)
  4. Swapped the borrowed tokens on DEX pools where they traded at significantly higher prices than oracle valuations
  5. The DEX swap returned more cbBTC/USDC than originally flash loaned, allowing the attacker to repay the flash loan and transfer profits (as WETH) to their EOA

This entire sequence occurred within single transactions, as required by flash loans needing to be repaid in the same transaction. The attacker essentially created collateralized positions from thin air, using flash loans to spawn value from the oracle-DEX price differential. This strategy allowed value extraction in two ways: the immediate arbitrage profit from swapping borrowed tokens at higher DEX prices, and later withdrawals of collateral from positions that were created entirely with flash-loaned funds. Whenever debt values declined enough to make positions appear healthy according to oracle prices, the attacker withdrew additional collateral that had never originally belonged to them.

When token prices rebounded rapidly after the initial crash, the borrowed positions instantly became underwater. The attacker had borrowed massive amounts when oracles quoted these tokens at their lows, but the swift recovery meant the protocol was left holding debt worth far more than the collateral backing it.

Liquidation Failure

Liquidators failed to clear the accumulating bad debt despite Moonwell’s 7% liquidation bonus. The standard liquidation process - flash loaning the debt token, repaying the underwater position, seizing collateral at a bonus, swapping it back to the debt token, and repaying the flash loan - became economically irrational.

The oracle-DEX price divergence that enabled the exploit also broke the liquidation mechanism. When liquidators attempted to swap seized collateral back to debt tokens, DEX pools demanded far more collateral than what was seized. The 7% bonus was completely insufficient when oracle-DEX spreads exceeded 20-30%.

With multiple collateral types (cbBTC, USDC) and multiple debt types (VIRTUAL, MORPHO, AERO), liquidators rationally chose the most profitable combinations. AERO debt saw heavy liquidation activity due to less oracle-DEX price divergence, while VIRTUAL experienced virtually no liquidations as its extreme price divergence made liquidation attempts guaranteed losses. MORPHO fell somewhere between these extremes.

Details

A full breakdown of price discrepancies between oracles and DEX pools, and a timeline of events can be viewed at this interactive website: Moonwell Exploit - Oct 10, 2025

Exploit contract: 0xa98e339f5a0f135792286d481b4e23d91a667d3f

Attacker (EOA): 0x6997a8c804642AE2de16D7B8Ff09565a5D5658ff

DEX Pools Interacted with:

Oracle Addresses:

Collateral Deposited (Flash Loaned)

Asset Amount (tokens)
cbBTC 24.54
USDC 2,013,983.77

Tokens Borrowed & Sold

Asset Amount (tokens)
VIRTUAL 1,790,698.86
AERO 4,980,092.07
MORPHO 391,919.57

Collateral Withdrawn

Type Amount (tokens)
USDC 498,340.28
cbBTC 1.97

Liquidation Activity

A complete list of liquidations involving the user can be viewed here.
Debt Repaid

Asset Amount (tokens)
AERO 4,726,949.43
MORPHO 273,081.05
VIRTUAL 29,832.57

While 4.7M AERO tokens were liquidated (95% of borrowed amount), only 29,832 VIRTUAL tokens were cleared (1.7% of borrowed amount).

Collateral Seized

Asset Amount (tokens)
USDC 1,515,641.57
cbBTC 22.42

From 10/10/2025, 9:19 PM UTC to 10/10/2025, 9:26 PM UTC, the attacker executed their strategy during peak price divergence. In just 7 minutes, they performed both the arbitrage trades and collateral withdrawals. During this window, price differences between the oracles and DEX pools reached their maximum:

  • VIRTUAL: 36.64% max divergence
  • MORPHO: 27.99% max divergence
  • AERO: 20.9% max divergence

Following the attack, from 9:26 to 9:46 PM UTC, liquidators attempted to clear the positions. In these 20 minutes, the remainder of the attacker’s collateral was liquidated, though mostly the AERO debt was repaid while liquidators struggled to find profitable routes for VIRTUAL and MORPHO.



Impact

In total attacker extracted approximately 267 ETH through this strategy while leaving the protocol with the following bad debt:

Asset Bad Debt (tokens) Bad Debt (USD)
VIRTUAL 1,777,087.31 $1,323,930
MORPHO 118,879.67 $202,271.84
AERO 253,458.31 $191,960.65
Total $1,718,162.49

Reserves held by the protocol in these markets, that can be utilized to cover this debt, are as follows:

Asset Reserves (tokens) Reserves (USD)
AERO 331,206.9534 $252,048.49
MORPHO 13,857.9747 $23,225.97
VIRTUAL 17,598.2385 $13,286.67

Immediately following this event we used cap guardian to decrease borrow caps in the VIRTUAL, MORPHO, and AERO markets, effectively pausing borrows in these markets and ensuring a similar event cannot happen again in the near future. AERO reserves can fully cover the AERO bad debt, but VIRTUAL and MORPHO reserves are lacking. However, $2.7M in reserves exist across all core markets on Base, which can cover the $1.7M debt. We encourage the DAO to come to a consensus on the next steps to be taken in covering the bad debt in these markets.

Unliquidated Positions on Moonbeam

On Moonbeam, a handful of users with health factors < 1.0 borrowing USDC.wh have yet to be liquidated. These positions have not materialized as bad debt due to the exceptionally conservative collateral factors in place across all Moonbeam markets. Liquidators are likely encountering challenges in sourcing USDC.wh on Moonbeam, either swapping for it on Stella Swap or bridging via Wormhole. A description of the positions eligible for liquidation follows below.

Borrower Address Health Factor Collateral Token(s) Collateral Value (USD) Debt token Debt Value (USD)
0xbe16892ed5185cbd69f3f2708de5263645240a65 0.87 ETH.wh (3.9926), xcDOT (2,854.926), GLMR (18.6971) $23,702.61 USDC.wh (9,457.6686) $9,453.89
0xe8ce20bf2149a374ad0e2b29a68623f95af14bc8 0.86 xcDOT(5,264.5853), xcUSDC(10,826.8046), GLMR (49,968.0180) $28,233.48 USDC.wh (13,773.0123) $13,767.51
0x89db10868fca68b529d55620d0e88ab4bf519f95 0.99 GLMR (239,719.6717) $9,972.34 USDC.wh (3,724.9008) $3,724.16

In theory, liquidators should be able to acquire USDC.wh from this GLMR/USDC.wh Uniswap V3 pool on Stella Swap: Address: 0xab8c3516...31f0fe393 | Moonbeam

Or, they can bridge USDC on https://portalbridge.com/. However, a swap on Stella Swap for USDC.wh yields zero liquidity, and a swap on Portal Bridge fails to find a quote. This partially explains why these positions are going unliquidated.

Base Changes 10/10 - 10/11

The following section gives statistics on how each market changed from 10/10/25-10/11/25

Asset Total Borrow Total Supply Utilization
USDC -22% from 55.78M USDC to 43.50M USDC -22% from 62.42M USDC to 48.49M USDC +0% from 89.37% to 89.71%
USDS -12% from 19.99K USDS to 17.56K USDS -9% from 22.30K USDS to 20.32K USDS -4% from 89.61% to 86.38%
EURC -23% from 2.17M EURC to 1.67M EURC -27% from 2.70M EURC to 1.99M EURC +5% from 80.15% to 84.11%
WETH -67% from 12.92K WETH to 4.31K WETH -46% from 17.81K WETH to 9.56K WETH -38% from 72.57% to 45.07%
DAI -24% from 19.26K DAI to 14.73K DAI +0% from 31.11K DAI to 31.11K DAI -24% from 61.90% to 47.35%
VIRTUAL +664% from 248.14K VIRTUAL to 1.90M VIRTUAL +20% from 2.20M VIRTUAL to 2.64M VIRTUAL +538% from 11.26% to 71.87%
AERO -12% from 8.61M AERO to 7.58M AERO -10% from 25.35M AERO to 22.77M AERO -2% from 33.94% to 33.30%
WELL -25% from 36.30M WELL to 27.40M WELL -3% from 155.53M WELL to 151.19M WELL -22% from 23.34% to 18.12%
cbXRP -32% from 551.64K cbXRP to 374.91K cbXRP -27% from 2.58M cbXRP to 1.90M cbXRP -7% from 21.35% to 19.78%
tBTC -48% from 2.33 tBTC to 1.21 tBTC -25% from 11.41 tBTC to 8.56 tBTC -31% from 20.40% to 14.10%
USDbC +0% from 1.45K USDbC to 1.45K USDbC -0% from 9.18K USDbC to 9.14K USDbC +0% from 15.85% to 15.91%
LBTC -59% from 9.07 LBTC to 3.69 LBTC -1% from 47.41 LBTC to 47.15 LBTC -59% from 19.14% to 7.84%
cbBTC -45% from 73.98 cbBTC to 41.00 cbBTC -5% from 552.91 cbBTC to 527.51 cbBTC -42% from 13.38% to 7.77%
weETH -29% from 19.38 weETH to 13.80 weETH +7% from 183.00 weETH to 195.85 weETH -33% from 10.59% to 7.05%
MORPHO -25% from 571.59K MORPHO to 428.12K MORPHO -7% from 6.00M MORPHO to 5.58M MORPHO -19% from 9.52% to 7.68%
wstETH +1% from 182.73 wstETH to 183.98 wstETH -6% from 4.44K wstETH to 4.17K wstETH +7% from 4.12% to 4.41%
cbETH -2% from 57.16 cbETH to 56.06 cbETH -2% from 2.14K cbETH to 2.10K cbETH -0% from 2.67% to 2.67%
rETH -0% from 22.89 rETH to 22.80 rETH -0% from 963.73 rETH to 959.64 rETH +0% from 2.38% to 2.38%
wrsETH 0% from 0.04 wrsETH to 0.04 wrsETH 0% from 114.47 wrsETH to 114.47 wrsETH 0% from 0.03% to 0.03%

Liquidations

  • Total liquidations: 1,064
  • Total Collateral Seized (USD): $12,530,499.04
  • Total Debt Repaid (USD): $11,391,362.76
  • Total Liquidation Bonus (USD): $1,139,136.28
  • Total Liquidator Bonus (USD): $797,395.39
  • Total Protocol Bonus (USD): $341,740.88
Asset Total Seized (Tokens) Total Seized (USD) Debt Repaid (USD) Liquidation Bonus (USD) Liquidator Bonus (USD) Protocol Bonus (USD) Liquidation Count
AERO 6,461,847.820050 $4,260,362.85 $3,873,057.14 $387,305.71 $271,114.00 $116,191.71 495
cbBTC 26.909904 $2,962,759.68 $2,693,417.89 $269,341.79 $188,539.25 $80,802.54 163
USDC 1,618,569.336170 $1,618,099.92 $1,470,999.93 $147,099.99 $102,969.99 $44,130.00 18
cbXRP 676,246.337230 $1,361,792.80 $1,237,993.45 $123,799.35 $86,659.54 $37,139.80 123
wstETH 265.738512 $1,130,711.23 $1,027,919.30 $102,791.93 $71,954.35 $30,837.58 11
MORPHO 348,656.941330 $318,650.63 $289,682.39 $28,968.24 $20,277.77 $8,690.47 23
WETH 83.011261 $302,631.90 $275,119.91 $27,511.99 $19,258.39 $8,253.60 71
WELL 10,782,486.960000 $215,156.41 $195,596.73 $19,559.67 $13,691.77 $5,867.90 21
tBTC 1.857700 $189,450.00 $172,227.27 $17,222.73 $12,055.91 $5,166.82 1
VIRTUAL 194,925.167899 $102,377.72 $93,070.66 $9,307.07 $6,514.95 $2,792.12 126
cbETH 12.637570 $50,666.10 $46,060.09 $4,606.01 $3,224.21 $1,381.80 7
LBTC 0.164579 $17,323.00 $15,748.18 $1,574.82 $1,102.37 $472.45 1
weETH 0.130004 $501.38 $455.80 $45.58 $31.91 $13.67 1
EURC 11.848420 $13.75 $12.50 $1.25 $0.87 $0.37 2
USDS 1.666910 $1.67 $1.52 $0.15 $0.11 $0.05 1

OP Mainnet Changes 10/10 - 10/11

Asset Total Borrow Total Supply Utilization
USDT0 -2% from 216.21K USDT0 to 211.62K USDT0 -2% from 240.38K USDT0 to 236.17K USDT0 -0% from 89.94% to 89.60%
USDC -64% from 2.63M USDC to 946.96K USDC -59% from 2.95M USDC to 1.21M USDC -12% from 89.07% to 78.35%
WETH -87% from 2.99K WETH to 400.17 WETH -76% from 3.78K WETH to 906.08 WETH -44% from 79.22% to 44.17%
USDT +59% from 139.06K USDT to 221.49K USDT +19% from 219.62K USDT to 260.94K USDT +34% from 63.32% to 84.88%
DAI -38% from 147.82K DAI to 92.19K DAI -28% from 202.68K DAI to 145.98K DAI -13% from 72.93% to 63.15%
wstETH -70% from 39.21 wstETH to 11.81 wstETH -15% from 324.77 wstETH to 277.25 wstETH -65% from 12.07% to 4.26%
rETH -0% from 5.05 rETH to 5.05 rETH -0% from 61.43 rETH to 61.27 rETH +0% from 8.23% to 8.25%
OP -76% from 218.04K OP to 51.29K OP -8% from 2.11M OP to 1.94M OP -74% from 10.34% to 2.64%
VELO -0% from 4.38M VELO to 4.36M VELO -7% from 77.12M VELO to 71.45M VELO +7% from 5.68% to 6.10%
WBTC 0% from 0.00 WBTC to 0.00 WBTC 0% from 0.07 WBTC to 0.07 WBTC 0% from 4.34% to 4.34%
weETH -83% from 20.55 weETH to 3.43 weETH -4% from 404.74 weETH to 387.59 weETH -83% from 5.08% to 0.89%
wrsETH -2% from 0.63 wrsETH to 0.62 wrsETH -2% from 21.44 wrsETH to 21.12 wrsETH -1% from 2.94% to 2.92%
cbETH 0% from 0.00 cbETH to 0.00 cbETH -27% from 0.38 cbETH to 0.27 cbETH +37% from 0.04% to 0.06%

Liquidations

  • Total liquidations: 203
  • Total Collateral Seized (USD): $399,314.07
  • Total Debt Repaid (USD): $363,012.79
  • Total Liquidation Bonus (USD): $36,301.28
  • Total Liquidator Bonus (USD): $25,410.90
  • Total Protocol Bonus (USD): $10,890.38
Asset Total Seized (Tokens) Total Seized (USD) Debt Repaid (USD) Liquidation Bonus (USD) Liquidator Bonus (USD) Protocol Bonus (USD) Liquidation Count
VELO 11,059,224.120200 $296,662.67 $269,693.34 $26,969.33 $18,878.53 $8,090.80 97
OP 184,528.945420 $66,138.21 $60,125.64 $6,012.56 $4,208.80 $1,803.77 79
wstETH 4.779821 $20,692.42 $18,811.29 $1,881.13 $1,316.79 $564.34 11
WETH 3.796947 $14,263.28 $12,966.61 $1,296.66 $907.66 $389.00 10
wrsETH 0.332761 $1,311.11 $1,191.92 $119.19 $83.43 $35.76 1
weETH 0.054727 $212.15 $192.87 $19.29 $13.50 $5.79 1
USDT 21.736030 $21.77 $19.79 $1.98 $1.39 $0.59 2
USDC 12.450140 $12.46 $11.33 $1.13 $0.79 $0.34 2

Moonbeam Changes 10/10 - 10/11

Asset Total Borrow Total Supply Utilization
GLMR +0% from 7.23M GLMR to 7.25M GLMR -0% from 10.99M GLMR to 10.98M GLMR +0% from 65.77% to 66.05%
xcUSDC -60% from 79.17K xcUSDC to 31.96K xcUSDC -10% from 130.34K xcUSDC to 116.85K xcUSDC -55% from 60.74% to 27.36%
FRAX -41% from 446.23 FRAX to 262.35 FRAX -0% from 40.10K FRAX to 40.03K FRAX -1% from 45.65% to 45.27%
xcDOT -0% from 20.25K xcDOT to 20.25K xcDOT -2% from 1.29M xcDOT to 1.26M xcDOT +2% from 41.36% to 42.21%
xcUSDT -42% from 46.75K xcUSDT to 26.92K xcUSDT -3% from 98.06K xcUSDT to 94.79K xcUSDT -40% from 47.68% to 28.40%
USDC.wh -12% from 45.17K USDC.wh to 39.72K USDC.wh -4% from 127.46K USDC.wh to 122.46K USDC.wh -8% from 35.44% to 32.43%
ETH.wh -9% from 1.20 ETH.wh to 1.09 ETH.wh -0% from 34.12 ETH.wh to 33.97 ETH.wh -8% from 3.51% to 3.22%
BTC.wh -35% from 0.01 BTC.wh to 0.01 BTC.wh -0% from 1.19 BTC.wh to 1.19 BTC.wh -35% from 1.14% to 0.74%

Liquidations

  • Total liquidations: 626
  • Total Collateral Seized (USD): $71,542.15
  • Total Debt Repaid (USD): $65,038.32
  • Total Liquidation Bonus (USD): $6,503.83
  • Total Liquidator Bonus (USD): $4,552.68
  • Total Protocol Bonus (USD): $1,951.15
Asset Total Seized (Tokens) Total Seized (USD) Debt Repaid (USD) Liquidation Bonus (USD) Liquidator Bonus (USD) Protocol Bonus (USD) Liquidation Count
xcDOT 22,667.524417 $55,977.96 $50,889.05 $5,088.91 $3,562.23 $1,526.67 199
GLMR 468,094.970853 $14,396.11 $13,087.37 $1,308.74 $916.12 $392.62 361
ETH.wh 0.152945 $596.28 $542.08 $54.21 $37.95 $16.26 29
xcUSDC 395.654710 $395.65 $359.69 $35.97 $25.18 $10.79 21
FRAX 70.256520 $70.05 $63.68 $6.37 $4.46 $1.91 7
BTC.wh 0.000494 $51.51 $46.83 $4.68 $3.28 $1.40 1
xcUSDT 47.505578 $47.63 $43.30 $4.33 $3.03 $1.30 6
USDC.wh 6.952570 $6.95 $6.32 $0.63 $0.44 $0.19 2

Moonriver Changes 10/10 - 10/11

Asset Total Borrow Total Supply Utilization
xcKSM -0% from 6.55K xcKSM to 6.54K xcKSM -9% from 16.03K xcKSM to 14.65K xcKSM +9% from 40.86% to 44.68%
FRAX -16% from 64.40K FRAX to 54.30K FRAX -0% from 327.30K FRAX to 326.25K FRAX -15% from 19.68% to 16.64%
MOVR +0% from 3.57K MOVR to 3.57K MOVR -2% from 152.10K MOVR to 148.72K MOVR +2% from 2.35% to 2.40%

Liquidations

  • Total liquidations: 74
  • Total Collateral Seized (USD): $11,138.34
  • Total Debt Repaid (USD): $10,125.76
  • Total Liquidation Bonus (USD): $1,012.58
  • Total Liquidator Bonus (USD): $708.80
  • Total Protocol Bonus (USD): $303.77
Asset Total Seized (Tokens) Total Seized (USD) Debt Repaid (USD) Liquidation Bonus (USD) Liquidator Bonus (USD) Protocol Bonus (USD) Liquidation Count
MOVR 2,964.786005 $9,057.77 $8,234.34 $823.43 $576.40 $247.03 56
xcKSM 304.564304 $1,792.99 $1,629.99 $163.00 $114.10 $48.90 16
FRAX 288.297200 $287.57 $261.43 $26.14 $18.30 $7.84 2

Conclusion

Over $12M in liquidations occurred across all four chains, with protocol revenue from liquidations (as reserves) totaling over $350K. $1.7M has been incurred as bad debt in the core markets on Base, primarily in the form of VIRTUAL. However, the protocol possesses $2.7M in reserves on Base.

2 Likes

Not a massive blow to the protocol but needs addressing asap.

1 Like

Yikes…this is brutal.

No wonder you all were quiet for days and Luke hasn’t said much since…

All is NOT WeLL!

1 Like

Wow, I think it’s time Moonwell core contributors sit down and figure out a plan to revamp the protocol. Or, expect people to start leaving. Me included.. staking is still broken, and liquidations are now not functioning properly. lunarlabs should get the new team all hands on deck to build back better since they are using Moonwell as a credit facility. Consider it a team building exercise…

1 Like

The Chainlink Labs team is sharing this post to provide the Moonwell DAO with clarity on its data feed methodology, the risks of relying on single-source pricing, and potential solutions for co-development with Lunar Labs. Chainlink Labs has worked closely with Moonwell over many years and the Chainlink Network secures the majority of Moonwell’s TVL. We sincerely value our relationship and our goal is to provide both transparency and solutions as we move forward together.

Volume Weighted Average Price (VWAP)

Chainlink data feeds utilize a Volume Weighted Average Price (VWAP) methodology, aggregating from multiple sources being both offchain i.e. CEXs and onchain i.e. DEXs. The key to having a reliable source of price data is full market coverage, wherein a price point represents a refined aggregate of all trading environments, as opposed to a single exchange or even small group of exchanges so as to help prevent data manipulation vulnerabilities and/or volume shift inaccuracies.

A Time Weighted Average Price (TWAP) can help prevent flash loan attacks but is inherently a lagging indicator. While risks can be mitigated by using price points from a shorter timespan, this approach leaves your protocol open to manipulation as it will become less expensive for a well-capitalized malicious actor. Longer TWAP durations can alleviate this, but still leads to prices that are out of sync with market-wide prices during periods of high volatility. Another key risk of overindexing on Aerodrome is when prices on CEXs diverge, as seen on October 10th. In these situations, attackers are incentivized to buy cheaper AERO elsewhere and attack Moonwell through this method - similar exploits have negatively impacted other protocols. We are worried about the long-term risks to Moonwell if you consider moving forward with any form of TWAP.

A relevant example impacted Compound during the UNI spike in February 2024. At the time, Compound leveraged a custom oracle implementation using the Uniswap Anchored View (UAV) as a “sanity check” to ensure Chainlink data feeds were within acceptable bounds of the time-weighted average price of the token/ETH pair on Uniswap v2. Compound trusted a slower Uniswap price that lagged below the real market, opening attackers to:

  • Flashloan a large amount of USDC

  • Deposit it into Compound

  • Borrow UNI at the artificially low oracle price

  • Sell that UNI on the real market for more USDC than they borrowed

  • Repay the flashloan, leaving Compound with significant bad debt

While October 10th was an unprecedented case where for almost an hour markets remained in a fully-dislocated state, the Chainlink VWAP methodology operated as-intended and provided a single consolidated price. On the surface, it may make sense to look back and compare that price to one specific market. However, it’s critical to note that this does not provide useful nor conclusive insights as any single-source price carries similar or worse risks.

We would like to work hand-in-hand with Lunar Labs and Anthias Labs to research, scope, and build oracles that are tailored to Moonwell’s needs. These include custom-designed oracles, automated risk parameters, and multi-market price feeds. We hope working together as co-designers will provide value to both Moonwell and the wider DeFi space.

1 Like

The Chainlink Labs team is sharing this post to provide the Moonwell community with additional insights into Chainlink feed methodology and behavior. Included is a data-driven look at the AERO, VIRTUAL, and MORPHO markets on 10/10, along with liquidator behavior.

On October 10th, many markets split across Coinbase, Aerodrome, Gate, Bybit, and other venues, leading to significant market dislocation. Specific to AERO, its market diverged across Coinbase, Aerodrome, Gate, Bybit, and other venues, with each experiencing different prices. While the Aerodrome DEX contributed roughly 25% of the trading volume that day, it was not the dominant source overall. 75% of trading occurred at prices that were at times 100% higher or lower, with Aerodrome roughly in the middle. The chart below demonstrates that Coinbase took a markedly different path to other exchanges - prices on Coinbase experienced a minimal dip, while prices on Gate, Bybit and Bitget dropped much more sharply. The Chainlink AERO-USD feed navigated this by printing roughly in the middle between the Coinbase price and the Gate price: i.e., between the two largest exchanges.

As mentioned above, Chainlink price feeds take a Volume Weighted Average, and there will always be trading venues that have prices above or below the one relayed. Historically, market makers arbitrage these prices to remain very closely in line across markets.

Source for the above graphic: Anthias Labs

In reviewing 24h volume figures from Coingecko for October 10th, while Aerodrome was the largest DEX market, the combined volumes on the majority of the total volume came from CEXs, with Gate, Coinbase, Digifinex, XT.com, Bybit, and Bitget accounting for 55%. Among the CEX markets, while Coinbase was the largest single market, it was outweighed by the combination of Gate, Bybit, Digifinex, Kucoin and Bitget.

As there is a 5-graphic limit per post, there will be two subsequent posts outlining VIRTUAL and MORPHO, with an adjoining summary.

1 Like

VIRTUAL

Transitioning to the VIRTUAL asset: trailing 4h volume for VIRTUAL shows that Bitget held by far the highest volume, followed by Binance, Bybit and Gate.

Reviewing the 24h period that includes the dip and its aftermath shows that Binance is the most significant venue, with Bybit, Bitget and HTX also contributing significant volumes. DEX volumes did not contribute in a meaningful way.

During the dip itself, HTX remained relatively stable, while all of the other major CEXs dropped significantly. The Chainlink VIRTUAL-USD feed was tightly coupled with the primary sources of volume, again noting that DEX volumes had minimal influence on the result.

Source for the above graphic: Anthias Labs

1 Like

MORPHO

Transitioning to the MORPHO market: trailing 4h volume going into the dip also shows Bitget dominating, followed by OKX and Binance, with smaller volumes from Bybit and Gate.

The 24h volumes show this to be primarily a CEX token, with smaller volumes on Aerodrome and Uniswap. The data providers for the MORPHO-USD market primarily cover CEXs.

While Coinbase is a marginal market for this token, the prices on the chart below show a significant contrast between Coinbase and all other venues. Every CEX with significant volumes remained tightly packed on the downslope of the dip, and the Chainlink MORPHO-USD price followed these CEXs.

Source for the above graphic: Anthias Labs

Liquidator Behavior:

It’s also important to highlight the critical role that liquidators play in maintaining protocol solvency, and how, on 10/10, limitations within the Moonwell liquidator ecosystem contributed to the accrual of bad debt. On October 10th, the risk factors on the relevant markets were set at 50% close factor and 65% LTV for volatile assets such as AERO and VIRTUAL. These settings, while they may be reasonable under normal conditions, meant that during an extreme market dislocation, the protocol was at risk of extending a very high amount of credit to users and would have to react fast enough to close risky positions.

The primary initial liquidator sourced both its flash loan and swap liquidity solely from Aerodrome. At the time it would have been up to 50% cheaper to source from CEXs. The liquidator not doing so indicates an inefficiency. When prices on external venues diverged sharply, this single-venue dependency of the liquidator prevented the liquidator from accessing cheaper liquidity elsewhere, making it unprofitable to close the entire position, and leaving several positions only partially closed. After the initial mAERO liquidation, the affected account still held ~$2 million in cbBTC collateral, which was not utilized to close the remaining undercollateralized positions - this cbBTC could have been used immediately to close the entire outstanding positions. The 50% close factor indicates that the cbBTC was taken by liquidators in smaller pieces over the proceeding 20 minutes, which ultimately left Moonwell with this bad debt. The liquidator transactions were compiled by Anthias Labs and can be seen at the bottom of their analysis: https://anthias-labs.github.io/moonwell-exploit-10-10-25/.

Summary:

Echoing the post shared yesterday: while October 10th was an unprecedented case where for almost an hour markets remained in a fully-dislocated state, the Chainlink VWAP methodology operated as-intended and provided a single consolidated price in-line with major trading volumes across major venues. When major trading venues have prices with variances of up to 50%, it’s misrepresentative to pick a single venue and declare it as the definitive view of the market.

We would welcome the opportunity to work with Lunar Labs, Anthias Labs, and the Moonwell DAO to evaluate liquidation mechanics, incentive design, and multi-market integrations that could strengthen the protocol’s resilience in future high-volatility events. We are also happy to discuss approaches to broader and more sophisticated liquidator participation that can be encouraged through incentive structures, such as multi-collateral liquidation mechanisms. Empirical analysis across lending protocols shows that higher close factors for volatile assets enable positions to be fully resolved during sharp market moves, reducing protocol insolvency risk. While LTV adjustments can help buffer against previously observed volatility, they are not sufficient to mitigate risks from cross-venue price dislocations of the kind observed on October 10th.

2 Likes