MonoX Hack

Reported loss $31.4M
Ethereum Polygon
Same-token swap price inflation

What happened

On November 30, 2021, an attacker exploited MonoX's single-sided AMM on Ethereum and Polygon. A swap path allowed MONO to be both the input and output token, inflating its internal virtual price and allowing the attacker to exchange overpriced MONO for the pools' real assets.

Technical root cause

The swap function did not reject identical input and output token addresses. Applying distinct buy and sell price-update paths to the same asset broke the AMM's virtual-price accounting invariant.

How it happened

  1. MonoX independently updated the virtual price for tokenIn and tokenOut.
  2. When both addresses were MONO, the final output-side update overwrote the input-side adjustment and ratcheted MONO's price upward.
  3. The attacker repeated the same-token swap, then used the artificially expensive MONO to drain WETH, WMATIC, WBTC, stablecoins, and other pooled tokens across both deployments.

Protocol details

Classification AMM Virtual-Price Manipulation
Protocol Type DEX
Affected asset / contract MONO
Implementation language Solidity
Protocol links Website @MonoXFinance

Security review history

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.