- GMX suffered a $565,000 exploit in which holders of its liquidity token GLP suffered maximum pain for providing liquidity to savvy traders.
- The exploiter capitalized on price manipulation, engaging in several large trades against GLP holders because of fixed prices supplied by Chainlink-run oracles.
- Liquidity providers lose when traders profit; attackers exploited this vulnerability and drained GLP holders of their funds.
An exploiter deployed millions of dollars to manipulate the price of Avalanche (AVAX) on the decentralized exchange GMX. The exploit resulted in a loss of $565,000 for holders of the exchange’s liquidity token GLP, by using a strategy that took advantage of a loophole on the liquidity pool platform.
GMX suffered a $565K price manipulation ‘exploit’
GMX’s competitor’s founder said on September 2 that an exploit could be pulled off on the decentralized exchange, leaving GLP (liquidity provider token) holders short. Exactly 16 days later, on September 18, it happened.
The exchange suffered a price manipulation exploit, and the attacker capitalized on GMX’s “minimal spread” and “zero price impact” features to pull off the exploit. GLP token holders who provided liquidity in the form of Avalanche tokens to the GMX exchange suffered a loss of around $565,000 in the Avalanche AVAX/USD market.
We were notified of price manipulation of AVAX/USD on reference exchanges by monitoring systems and community members.
While we review the occurrence, open-interest for AVAX has been capped at $2m long / $1m short.
GLP and GMX trading markets continue to operate normally.
— GMX (@GMX_IO) September 18, 2022
Joshua Lim, the head of derivatives at Genesis Trading, is one of the first crypto proponents to analyze the exploit. Lim argues that offering liquidity to savvy traders is a necessary but painful part of the process. Holders of GMX’s liquidity provider token GLP lost their holdings to the exploit.
The attacker opened large positions at zero slippage and successfully extracted profits from GMX’s AVAX/USD market. The chart presented the event as a sinusoidal pattern for over an hour as the trader orchestrating the attack switched from long to short five times.
The first cycle took place from 01:15 to 01:28 UTC, and the trader extracted roughly $158,000. The trader repeated it five times (with less impact each time) and extracted between $500,000 to $700,000 in profit. The net collection by the attacker was less than $700,000 since they paid spread to market-makers on other venues.
Attack on the AVAX-USD pool
Lim argues that GMX was designed in a manner to facilitate this exploit; by design, there was a loophole that the attacker exploited since Chainlink-run oracles do not factor in the impact on price of large market-moving orders.
In contrast, on the FTX exchange, Lim explains, traders pay some slippage – the difference between the expected price of a trade and the price at which the trade is executed. This explains why the attacker chose GMX instead of FTX where perpetual contracts are available.
Slippage comes into the picture when you buy in a large volume. When a trader purchases 200,000 units of AVAX-PERP on FTX, for example, the price would typically climb from $17.95 to $20.25. This implies a trader would suffer a loss on FTX exchange and the other avenues when moving the funds.
GMX, however, does not reflect the true cost of liquidity; due to the Chainlink-run oracles, there is unlimited liquidity at a mid-market oracle price.
GMX has not offered any compensation to affected GLP token holders. Traders who provide liquidity to savvy traders should be wary of similar possible exploits in the future.