Price impact by trade size (same pool, same direction)
Impact grows non-linearly with trade size because the formula uses the OI difference raised to the exponent, not the raw difference.
| Taille du commerce | New OI diff | Impact ($) | Impact (bps) |
|---|
Same trade size, all four directions
Même taille en dollars, même biais de pool – seul le côté avec lequel vous échangez change le signe de l'impact.
| Action | New OI diff | Impact ($) | Impact (bps) |
|---|
How GMX v2's price impact formula actually works
GMX v2's synthetic GM pools don't price trades off a constant-product curve the way a Uniswap-style AMM does — there's no x·y=k reserve ratio moving as you swap. Instead, every position action (opening, adding to, or closing a long or short) is priced at the Chainlink oracle price plus or minus a price impact adjustment, and that adjustment is computed purely from how the trade changes the imbalance between long and short open interest on that market: priceImpactUsd = factor × (diffBefore^exponent − diffAfter^exponent), où diff = |longOI − shortOI| before and after the trade, and factor is the market's positive or negative impact factor depending on whether the trade improves or worsens the skew.
The sign is what makes this mechanism genuinely different from AMM slippage: if long open interest already exceeds short open interest and you open a new short, you shrink the imbalance — GMX rewards that with a positif price impact, a rebate added to your position's execution price, because you're making the pool's own risk position healthier. Add to the already-larger side instead, and you widen the imbalance, which charges a négatif price impact instead. Two traders opening the exact same $200,000 position at the exact same moment can see opposite-sign price impact purely based on which side of the market they're trading — something that simply can't happen on a depth-based AMM curve, where impact only ever works against the trader.
Because the formula uses an exponent (typically close to 2 on major GMX markets), impact scales faster than trade size — doubling a skew-worsening trade roughly doubles the diff but can more than double the $ impact, while the bps-of-size impact grows more slowly since the denominator scales too. Exact factor et exponent values are set per market by GMX governance and are visible in the app's pre-trade impact estimate or readable on-chain via the DataStore/Reader contracts — plug your market's real numbers in above for an exact model instead of the in-app rounded estimate. Funding fees use the same OI-imbalance data but a separate formula and accrue continuously rather than once at execution; if you're sizing a basket across multiple GM markets rather than a single trade, see the Calculateur de diversification du coffre-fort GLV, and for the constant-product version of price impact on a regular DEX pool, see the Calculateur d'impact sur les prix AMM.