Trade Perps on GMX
GMX prices trades from oracles rather than an order book. You are not matched against another trader — you take the other side of a GM liquidity pool, and the fee you pay depends on whether your trade helps or hurts that pool's open interest balance.
That design has a specific consequence you should internalise before your first trade: there is no order book depth to read, no maker rebate to earn, and your execution price comes from an oracle a moment after you submit your request. What you optimise instead is the fee side — which direction the pool needs, and how long you intend to hold.
GMX V2 runs on Arbitrum, Avalanche and Botanix, and GMX Multichain, built on LayerZero, lets traders on other chains including Ethereum, Base and BNB Chain access the same shared liquidity. Arbitrum remains the core market and the deepest venue.
What you'll need (prerequisites)
- Self-custodial wallet (MetaMask, Rabby, etc.)
- ETH or native gas token
- Tokens to open a perp position with
- Familiarity with transaction approvals
GM pools, oracle execution and the cost of carry
Each market has a GM pool holding the long and short collateral for that asset. Traders open positions against the pool; liquidity providers deposit into it and earn the fees traders pay, while taking the other side of aggregate trader profit and loss. Understanding that you are trading against a pool rather than a counterparty explains the fee structure entirely.
Open and close fees are either 4 basis points (0.04%) or 6 basis points (0.06%) of position size, depending on direction. You pay 0.04% when your trade reduces the open-interest imbalance in that market's GM pool, and 0.06% when it increases it. Taking the unpopular side of a crowded market is therefore cheaper — a small edge, but a real one on a large position.
Borrowing fees accrue continuously for as long as a leveraged position is open, and rise with utilisation. Funding transfers between longs and shorts based on the imbalance. Together these are your cost of carry, and on a multi-day hold they routinely exceed the open and close fees combined. A position that is directionally right but held through a period of expensive carry can still lose money.
Price impact applies on top: large orders that worsen the pool's balance receive a worse execution price, and orders that improve it can receive a better one. Leverage on GMX goes up to 100x, which is a number to know exists and to treat as a warning rather than an invitation — at that leverage a sub-1% adverse move liquidates the position before fees.
Recommended for this tutorial
Tools and accounts referenced in the steps below:
Step-by-step
-
Step 1: Choose the deployment before you fund anything
Decide whether to trade on Arbitrum, Avalanche or Botanix, or to use GMX Multichain from another chain such as Base, BNB Chain or Ethereum. Arbitrum is the core market with the deepest GM pools. Funding an account on a chain whose market lacks depth for your asset is an avoidable, self-imposed cost.
-
Step 2: Bridge or acquire collateral plus a gas buffer
Get your collateral asset onto the chain you chose and keep native gas on top. Leveraged positions require you to be able to send transactions during volatility — adding collateral or closing a position — so a thin gas balance is a genuine liquidation risk, not a minor inconvenience.
-
Step 3: Connect from a bookmarked URL
Reach the official interface from an address you typed yourself. Perp front-ends are phished aggressively because the expected flow involves approving a collateral token. Connect the wallet and approve the connection signature, which moves nothing.
-
Step 4: Read the market's open-interest balance before choosing direction
The interface shows long versus short open interest per market. If longs are crowded, opening a short reduces the imbalance and you pay the 0.04% rate instead of 0.06%; funding is likely to favour you as well. This does not make a bad trade good, but it makes a good trade cheaper.
-
Step 5: Size the position from your liquidation price, not your conviction
Set the collateral and leverage, then look at the liquidation price the interface computes. Ask whether the asset has moved that far in a single hour in the past month. If the honest answer is yes, the position is too large. Do this before you place the order, every time.
-
Step 6: Approve collateral and submit the order
Approve the collateral token — exact amount where possible — and submit. GMX V2 takes your order as a request that is then executed by keepers at an oracle price a moment later, so the fill is not instantaneous and the executed price may differ slightly from the price you saw. This is normal protocol behaviour, not a failure.
-
Step 7: Attach stop-loss and take-profit orders immediately
Set them as part of opening the position rather than promising yourself you will watch the chart. Conditional orders on GMX are also keeper-executed and are subject to the same oracle pricing, so leave a margin rather than placing a stop microscopically close to the current price.
-
Step 8: Monitor carry and close cleanly
Track accrued borrowing and funding costs, not just unrealised profit and loss — they are deducted from your collateral and they move your liquidation price against you over time. When you close, verify the settlement on the explorer and record the entry, exit, fees and funding. Perp trading generates a lot of individually small taxable events.
What a GMX trade costs
Open and close: 0.04% of position size if your trade reduces the open-interest imbalance in the relevant GM pool, 0.06% if it increases it. That is charged on both the opening and the closing side.
Borrowing fee: accrues continuously while a leveraged position is open and scales with pool utilisation. Funding: paid between longs and shorts according to the imbalance. On holds longer than a day or two, these dominate the total cost — model them before you open, not after.
Price impact: applied to execution when your order moves the pool's balance, negative when you worsen it and potentially positive when you improve it. Liquidation fees apply if the position is closed by the protocol. Network gas is small on the L2 deployments but is charged for each request. GMX also collects swap fees on its spot swap feature.
Security pitfalls
- 100x leverage is a liquidation guarantee, not a strategy. At that ratio, ordinary intra-hour noise closes the position.
- Carry costs compound quietly. Borrowing and funding fees eat collateral continuously and shift your liquidation price toward you every hour you hold.
- Oracle pricing means no order-book protection. You cannot place a resting limit deep in the book to define your fill; execution comes from the oracle at keeper-execution time.
- Keep gas available. Being unable to send a margin top-up during volatility is a common, entirely preventable liquidation.
- Verify the interface URL and the collateral token contract. Both are standard phishing targets.
- GMX Multichain and separate deployments are not the same product. Platforms trading under adjacent branding on other ecosystems run independent infrastructure — check what you are actually connecting to.
- Approve exact amounts and revoke afterwards — see revoking token approvals.
Troubleshooting
- Order submitted but not filled. GMX V2 orders are requests executed by keepers at an oracle price shortly afterwards. Wait for execution before resubmitting — duplicating an order during a delay is how people accidentally double their size.
- Filled at a different price than displayed. Expected. The oracle price at keeper execution, plus price impact, determines the fill.
- Position liquidated despite the price not hitting my level. Accrued borrowing and funding fees reduce collateral and move the liquidation price. Check the fee accrual on the position history.
- Paying 0.06% instead of 0.04%. Your trade increased the open-interest imbalance in that GM pool. Trading the other direction, or into a more balanced market, gets the lower rate.
- Stop-loss did not trigger exactly at my level. Conditional orders are keeper-executed against oracle prices. Leave margin rather than placing stops flush against the current price.
- Cannot see my position on another chain. Deployments are distinct. Confirm which chain you funded and whether you are using GMX Multichain routing.
- Transaction stuck. Replace it at the same nonce with a higher fee, or cancel with a zero-value self-transfer at that nonce.
FAQ
What are GMX's trading fees?
GMX charges 4 basis points (0.04%) or 6 basis points (0.06%) of position size on each open and each close, depending on direction: 0.04% when your trade reduces the open-interest imbalance in the relevant GM pool, and 0.06% when it increases it. Borrowing fees, funding, price impact, liquidation fees and network gas are charged on top.
How does oracle pricing differ from an order book?
There is no book to match against. You submit a request, keepers execute it at an oracle price a moment later, and the counterparty is the market's GM liquidity pool rather than another trader. That removes book-depth analysis from your process and replaces it with price impact and open-interest balance as the things you optimise.
Which chains is GMX on?
GMX V2 is live on Arbitrum, Avalanche and Botanix, with Arbitrum remaining the core market and the deepest liquidity. GMX Multichain, built on LayerZero, extends access to traders on other chains including Ethereum, Base and BNB Chain using the shared hub liquidity.
What leverage should I use?
Far less than the 100x maximum the platform allows. Size from the liquidation price rather than from conviction: compute where the position gets closed, then check whether the asset has moved that far within an hour in recent history. If it has, the position is too large regardless of how confident you are.
Why did my position lose money even though the price moved my way?
Borrowing and funding fees accrue continuously against a leveraged position and are deducted from collateral. Over a multi-day hold they routinely exceed the 0.04%–0.06% open and close fees combined. A directionally correct trade held through expensive carry can still finish negative.