Rewards
Staking GMX earns you a share of protocol fees. 27% of fees from leverage trading, liquidations, borrowing fees, and swaps are used to buy back GMX on the open market — a mechanism approved by the DAO Tally vote. Staking also grants voting power in protocol governance. You can stake and manage rewards on the Earn page. Unstaking takes a request and a 180-day wait. For more on the GMX token, see GMX token.
GMX staking rewards are accumulating in the Treasury. Bought-back GMX will be distributed to stakers when GMX reaches $90. Your share of accumulated rewards is based on staking power. The APR display on the Earn page shows "Accumulating" while distribution is suspended.
Staking Power
Staking power determines each staker's share of accumulated Treasury rewards. It accrues continuously based on the amount staked and the duration of staking. Your current staking power is shown on the GMX asset card on the Earn page. You can also query staking power data programmatically through the GMX API (GET /staking/power) or GraphQL.
When enough buyback history is available, the GMX asset card also shows a wallet-specific Est. APR. The estimate averages the GMX accrued during the four most recent complete weeks with non-zero accrual, annualizes that weekly pace by multiplying it by 52, allocates the projected amount using your share of total network staking power, and divides it by your current staked GMX and esGMX. This is a best-effort estimate, not a promised yield; any future distribution remains subject to DAO governance.
How Power Accrues
The system computes staking power as a continuous time-weighted integral of your staked balance (both GMX and esGMX in the StakedGmxTracker) minus any amount in a pending unstake request. Power accrues every second rather than through periodic snapshots. Submitting a request stops accrual on that amount right away, even though the tokens stay staked.
On each stake, unstake request, request cancellation, or withdrawal, the system updates your accumulated power:
accumulatedPower += currentBalance × (eventTimestamp − lastUpdateTimestamp)
In this formula, currentBalance is your staked balance minus your pending unstake requests.
A user who stakes 1,000 GMX for 90 days without changes accumulates power equal to 1,000 × 90 days of staking. Your share of Treasury rewards equals your cumulative power divided by the total network power across all stakers.
Power accrual began on March 4, 2026, when the last bought-back GMX reward distribution ended.
Loyalty Threshold
A loyalty system protects against large unstaking events. Loyalty tracking started on March 25, 2026, at which point the system began tracking each address's peak staked balance. The check uses your staked balance minus your pending unstake requests. If that balance drops below 80% of this peak, all accumulated power resets to zero. The check runs when you submit an unstake request, as if the amount had already left, so a reset happens at submission, not 180 days later. The address's historical peak is then reset to its new balance, and power begins accruing again from zero from that point.
Key details:
- After a reset, previous accumulation is lost and is not restored. This means the address loses the previously accumulated share of the GMX-at-$90 distribution and starts rebuilding from zero
- Forfeited power is removed from the total network power. Because each staker's share equals their own power divided by the total, reducing the total automatically increases every remaining staker's share proportionally — there is no separate redistribution step
- After a reset, the address's staked balance minus its pending requests becomes its new historical peak
- Staking additional tokens raises the historical peak and the 80% threshold accordingly
- Requesting to unstake esGMX to deposit it into a vesting vault lowers the tracked balance when you submit the request. If that drop puts the address below 80% of its historical peak, accumulated power resets to zero
- Cancelling an unstake request resumes accrual on that amount, but it doesn't restore power already lost to a reset
- Withdrawing a ready request doesn't count against the 80% rule a second time, because that amount was already counted when you submitted the request
- On the Unstake tab, the app shows a safe unstake limit measured against your staked balance minus your pending requests. A request that would cross the 20% limit shows a warning, and you must select a confirmation checkbox before you can submit it
- Staking power and loyalty tracking are independent per address; accumulated power and historical peak do not carry across wallets
- Vesting completion (esGMX converting to GMX within a single transaction) does not trigger false resets
Full account transfers
Full account transfers are paused on Arbitrum and Avalanche during the staking upgrade. The Transfer account and Complete account transfer pages show a notice and their buttons are disabled, and no reopening date is set. The rest of this section describes how transfers worked before the pause, and the conditions may differ if they reopen.
A full account transfer requires two account-transfer transactions. The sender calls signalTransfer to register the receiving wallet; this step doesn't move account balances or change staking power. The receiver then calls acceptTransfer to complete the supported account transfer. The app may require separate token approval transactions before the sender can call signalTransfer. After the transfer, GMX synchronizes governance voting power with each wallet's resulting staked balance.
The Transfer account page checks these conditions before it lets the sender call signalTransfer:
- The sender has withdrawn all tokens from the GMX and GLP vesting vaults. If the sender has esGMX in the Affiliate vault, the sender must withdraw it or confirm that they don't want to transfer the Affiliate esGMX.
- The receiving address is a valid, non-zero address other than the sender's own address, and it isn't already the pending receiver of the sender's transfer.
- The receiving wallet has none of the prior GMX or GLP staking records that the
RewardRoutercontract checks: no recorded staking rewards, no vesting records carried over from an earlier account transfer, and no tokens in the GMX or GLP vesting vaults. The page shows these checks as the receiver not having staked GMX or GLP before. - The sender confirms that staking power doesn't transfer.
When approvals are needed, the page asks for a GMX approval that covers the sender's staked GMX plus the GMX rewards that acceptTransfer compounds, and an approval for the receiving wallet that covers the sender's full staked balance.
Staking power and loyalty history remain tied to each address. The transfer doesn't copy the sender's accumulated power or historical maximum to the receiver. When the sender's tracked GMX and esGMX stake moves away, the sender's loyalty record follows the normal 80% threshold rule. If the balance falls below the threshold, accumulated power resets, and the remaining balance becomes the new historical maximum.
The incoming stake is applied to the receiver's existing staking-power record. A receiving wallet with no prior staking-power history starts with zero accumulated power, and the incoming tracked stake establishes its initial historical maximum. The receiver checks don't look at staking-power records, so if the receiving wallet already has staking-power history, that history remains in place.
Unstaking
Since October 28, 2026, unstaking GMX or esGMX on Arbitrum and Avalanche takes three steps: you submit an unstake request, wait 180 days, and then withdraw your tokens. The wait starts when you submit the request, so time you've already spent staking doesn't count toward it. The rule covers existing and new staking positions, and existing positions don't need a migration. For background, see the forum post announcing the 180-day timelock.
Submitting an unstake request can forfeit your accumulated staking power. The 80% rule applies as soon as you submit the request, and cancelling the request doesn't restore power lost to a reset.
Submit a request
To submit an unstake request, complete the following steps.
- Open the Earn portfolio page and select Stake GMX or Stake esGMX on the GMX asset card.
- Open the Unstake tab and enter an amount.
- Check the safe unstake limit. If the amount would reset your staking power, the app shows a warning, and you must select the confirmation checkbox to continue.
- Select Request unstake and confirm the transaction in your wallet.
A request covers your staked GMX and esGMX as one combined amount, shown as "GMX / esGMX," and isn't tied to either token. You choose the token when you withdraw. The most you can request is your staked balance minus the amounts in your open requests.
Each account can have at most 5 open requests per chain. A ready request counts toward the limit until you withdraw all of it or cancel it. At the limit, the app asks you to withdraw or cancel a request before you make a new one.
While a request is pending, the amount:
- Stays staked and keeps its voting power
- Stops earning staking power right away
- Counts as already unstaked for the 80% rule
New requests can be paused through an on-chain switch. When they are, the app shows "Unstake requests are paused. Try again later." The switch blocks only new requests, so you can still cancel and withdraw.
Track or cancel a request
Your requests appear in the Unstake requests table on the Earn portfolio page. The table shows only when you have open requests. It lists each request's Amount, Requested date, Available from date, and Status, which is either "Waiting" with the days left or "Ready to withdraw."
You can cancel a request at any time with the Cancel button, including after it's ready. Cancelling resumes staking power accrual on that amount, but it doesn't restore power already lost to a reset. If you later want to unstake that amount, a new request starts a fresh 180-day wait.
Withdraw your tokens
Once a request shows "Ready to withdraw," select Withdraw, choose GMX or esGMX, enter an amount, and confirm the transaction. The tokens go to your wallet. You withdraw one token at a time, and you can withdraw all or part of what's ready. The maximum is the lowest of:
- The total of your ready requests
- Your staked balance of the token you chose
- Your unreserved balance, because tokens reserved for vesting can't be withdrawn until you unreserve them
A partly withdrawn request keeps its original date. Withdrawing burns the matching GMX_DAO balance, so that's the point where you lose the voting power on that amount. Ready requests don't expire in practice: they stay available for 100 years from the request.
Changes to the wait
The 180-day wait and the 100-year expiry are on-chain settings, not fixed terms. They can be changed through a protocol configuration update, and the wait can't exceed 365 days.
A request stores when you submitted it, not an unlock date. The contract adds the wait in force at the time you withdraw to your request time, so a change also applies to requests that are already pending. A longer wait pushes back every pending request, including requests that were already ready, and a shorter wait brings them forward. The date the app shows when you submit a request isn't a guarantee, and the Available from column recalculates it from the current wait.
If you call the contracts directly, use RewardRouterV3. For its addresses and functions, see Staking in the contract docs.
Escrowed GMX
Escrowed GMX (esGMX) is a non-transferable token that was historically awarded as an incentive for GMX staking, GLP, referrals, and other programs. Stakers now receive GMX directly through the buyback mechanism rather than esGMX. Existing esGMX can be used in two ways:
- Staked for staking power — each staked esGMX token contributes to staking power the same way as a staked GMX token
- Vested to become GMX tokens over a period of one year (365 days)
esGMX is not transferrable unless you are doing a full account transfer, and account transfers are paused during the staking upgrade. The amount of GMX or GLP required to vest esGMX is unique per account, and the maximum amount of esGMX that can be vested is capped to the esGMX rewards received by that account.
GLP is a legacy liquidity token that preceded GM and GLV pools. While GLP is no longer available for new minting, GLP vesting vaults remain active for users with existing esGMX earned through GLP staking.
Vesting
Escrowed GMX (esGMX) tokens can be converted into GMX tokens through vesting on the Earn page. There are two separate vesting vaults for staking rewards — one for esGMX earned from GMX staking (GMX Vault) and one for esGMX earned from GLP staking (GLP Vault). Each vault tracks its own balances, reserved tokens, and vesting progress independently. esGMX from the ended referral program vests in a separate Affiliate vault, which doesn't require a paired GMX or GLP deposit. The v1 Earn page displays both vaults as separate cards, so you can see the breakdown of your esGMX by source.
When vesting is initiated, the average amount of GMX or GLP tokens used to earn the esGMX rewards is reserved. For example, if you staked 1,000 GMX and earned 100 esGMX tokens, then to vest 100 esGMX tokens, 1,000 GMX tokens are reserved. To vest 50 esGMX, 500 GMX tokens are reserved. The actual ratio depends on the average staked amount and rewards earned for your account.
Key details:
- esGMX tokens that have been unstaked and deposited for vesting stop counting toward staking power. Staked GMX or esGMX tokens that are reserved for vesting remain in the staked balance and continue to count toward staking power and the GMX-at-$90 Treasury distribution.
- Vesting takes esGMX from your wallet. You can deposit esGMX that's already in your wallet right away. Staked esGMX must first go through a 180-day unstake request and be withdrawn as esGMX.
- When you request to unstake esGMX to start vesting it, that amount stops counting toward staking power as soon as you submit the request. If that drop puts the address below 80% of its historical peak staked balance, accumulated power resets to zero at that point.
- After initiating vesting, esGMX tokens are converted into GMX every second and fully vest over 365 days. Vested GMX tokens are claimable at any time. On the Earn page, Claim pays vested GMX from the GMX and GLP vaults in separate wallet transactions, one for each vault with a claimable balance. If you select Stake GMX rewards, a further transaction stakes the vested amount.
- If you sell GMX or GLP tokens and want to vest your esGMX rewards later, you need to re-buy the GMX or GLP tokens.
- GMX and esGMX can be used interchangeably for the required reserve amount.
- Depositing into the vesting vault while existing vesting is ongoing is supported.
Withdrawing from vesting
Tokens reserved for vesting can't be sold or withdrawn from staking. You can submit an unstake request for them, but the withdrawal dialog caps the amount at your unreserved balance. To unreserve them, use the "Withdraw" button on the vault on the Earn page. Partial withdrawals are not supported — withdrawing unreserves all tokens and pauses vesting. Any esGMX tokens that had already vested into GMX remain as GMX tokens.
Next steps
- GMX token — Token addresses, supply, and staking details.
- Voting power — Participate in protocol governance.
- Earn page — Stake GMX and manage rewards.