Liquidations and ADL
This page covers liquidation mechanics, Auto-Deleveraging (ADL), and trading risks.
Liquidations
A position is liquidated when its remaining collateral, after accounting for unrealized losses, accrued fees, and capped negative price impact, falls below the market's minimum collateral threshold. This threshold ranges from 0.25% to 1% of position size, depending on market configuration. The protocol uses the minimum index price (minPrice) to calculate PnL for long positions and the maximum index price (maxPrice) for short positions. Collateral value always uses the minimum collateral token price (collateralTokenPrice.min), regardless of position side.
Your liquidation price is not static. Borrow fees and funding fees accumulate over time, moving it closer. You can deposit additional collateral using the "Edit" button to improve your liquidation price.
When a position is liquidated, any remaining collateral after deducting losses and fees is returned to your wallet.
Liquidation fees
The liquidation fee is a percentage of the position's notional size (not the collateral). The applicable rate depends on the market type:
| Market type | Liquidation fee |
|---|---|
| Standard (non-synthetic) | 0.20% of position size |
| Single-token (BTC/BTC, ETH/ETH) | 0.30% of position size |
| Synthetic (SOL, ARB, LINK, and similar) | 0.30% of position size |
| High-volatility (newly listed markets) | 0.45% of position size |
The liquidation fee is not factored into the protocol's liquidatability check — it is deducted only when the position is actually closed.
Price impact in liquidations
Negative price impact is included in the liquidation check, capped by the MAX_POSITION_IMPACT_FACTOR_FOR_LIQUIDATIONS parameter. Positive price impact is zeroed out for the purpose of the liquidation check. The same capped negative price impact is used in the frontend's liquidation price calculation.
Stop-Loss orders and liquidations
When a position becomes liquidatable, keepers attempt to execute any associated Stop-Loss orders before proceeding with liquidation. If a Stop-Loss order successfully closes the position, the liquidation is skipped. When multiple Stop-Loss orders exist, they are processed in descending order by size — the largest is attempted first.
Stop-Loss execution before liquidation can fail when:
- The trigger price condition is not satisfied at the current oracle prices
- Valid signed prices are unavailable for the order's tokens
- The order fails on-chain validation (for example, insufficient liquidity or max leverage exceeded)
- The execution transaction reverts
If all associated Stop-Loss orders fail to close the position, the keeper proceeds with liquidation. Any remaining orders on the position that were created with auto-cancel enabled are then auto-cancelled (see auto-cancel TP/SL).
Only Stop-Loss orders (StopLossDecrease) are attempted before liquidation. Take-Profit orders (LimitDecrease), Limit Increase, and other order types are not. Setting a Stop-Loss above your liquidation price reduces your risk but does not guarantee you avoid liquidation — rapid price movements can cause both the Stop-Loss trigger and the liquidation threshold to be breached in the same oracle update.
Unlike resting limit orders on a centralized exchange, GMX orders don't fill passively as price moves through them. They're executed by keepers against oracle prices. While the liquidation keeper does attempt your Stop-Loss before submitting a liquidation transaction, a separate order-execution keeper runs concurrently — so there's no on-chain guarantee that your Stop-Loss executes before a liquidation check reaches your position.
Auto-Deleveraging (ADL)
Auto-Deleveraging (ADL) protects pool solvency by automatically reducing profitable positions when the ratio of pending PnL to pool value exceeds the market's configured MAX_PNL_FACTOR_FOR_ADL threshold. When this threshold is exceeded, profitable positions may be partially or fully closed to bring the ratio back within bounds.
ADL is most likely to occur in synthetic markets, where the index token differs from the pool's long collateral token. In these markets, the index token's price can rise faster than the collateral token's price, causing pending profits to outpace the pool's capacity to pay them. For background on how market types affect pool solvency, see Market types.
If ADL is triggered on your position, it's partially or fully closed without your action.
Trading risks
GMX mitigates risks through testing, audits, and bug bounties, but trading on any smart contract protocol carries inherent risks.
Use caution when interacting with any smart contract or blockchain application. The list below is non-exhaustive.
- Smart contract risks: Vulnerabilities in the protocol code could lead to loss of funds, despite audits and bug bounties.
- Liquidations: Positions can be liquidated if collateral falls below the required threshold, resulting in a loss of most or all of the position's collateral.
- ADL: In synthetic markets, profitable positions may be automatically deleveraged if pending PnL exceeds the market's configured threshold. See Auto-Deleveraging (ADL) for details.
- Stablecoin pricing: If a stablecoin depegs from 1 USD, the price used to settle your position may differ from the peg value. There may be a spread from the Chainlink price to 1 USD, and if Chainlink Data Stream prices are used, the spread comes from the bid/ask in the data stream report and may not be anchored to 1 USD.
Additionally, collateral and profits may be backed by bridged or pegged tokens that may not be guaranteed to maintain their peg.