(this article was first published on Medium on January 5, 2022)
GMX is a perp and spot exchange on Arbitrum with unique protocol mechanics and tokenomics.
GMX launched as Gambit Financial on BSC earlier this year, but rebranded to GMX and expanded to Arbitrum in September. Arbitrum is GMX’ primary platform at the moment, responsible for the vast majority of margin trading and 85% of the overall revenue.
GMX is a mix of a perp and spot exchange for traders + an index fund for LPs (GLP).
LPs add liquidity/mint GLP by adding one of the basket assets to the multi-asset pool. Traders can utilize the liquidity for swaps with zero price impact or leveraged trading. For the latter, traders need to post collateral (margin). Once a trader closes their position, they get paid out in the token (for longs) or stablecoins (for shorts). If a trader makes a profit, LPs make a loss and vice versa, similar to Synthetix’ peer-to-pool model.
Traders can also get liquidated if losses + borrow fees get close to the value of the provided collateral.
GMX takes a fee of 0.1% for opening and closing positions plus a dynamic borrow fee based on utilization rates. Swap fees are also dynamic, related to whether a swap improves the weights of assets in the pool towards the target or away. The same applies to GLP minting and redemption fees. LPs can burn their GLP to receive any of the assets in the pool. In case an LP redeems GLP for an over-weighted asset, fees are reduced.
The generated revenue from fees is split 70% with GLPs and 30% with GMX stakers.
Before, LPs received 50%, while 20% were converted to GLP and put in the Floor Price Fund (treasury). The idea was to increase GLP liquidity to scale with demand and to provide “backing” (minimal price) for GMX. While the idea of protocol-owned liquidity is good, directly incentivizing liquidity by giving a bigger revenue share to LPs has proven successful in the current growth phase of the protocol. The floor price fund also had issues keeping up with the token price (which can also be attributed to the current stage in the protocol’s growth cycle and the speculation around it) and therefore didn’t provide much value as a minimum price. There is currently $5.1m in the floor price fund, which equals a minimum price of ~0.73$.
Asset basket
GLP on Arbitrum currently holds the following assets:
On Avalanche, GLP will include WBTC, ETH, AVAX, MIM, USDC.e and USDC.
To maximize revenue, GLP should consist of assets which
The better the asset mix, the higher the liquidity (LPs) and utilization rate (trade volume) of GLP. High utilization rates mean capital efficiency, resulting in high APRs for LPs. A high APR incentivizes liquidity providooooors to add liquidity, which allows for more trading volume, which in turn generates more fees, and so on. The goal is to win as much market demand as possible without being constrained by the supply side.
Chainlink price feeds are required for all assets. To reduce the risk of oracle manipulation which could rekt LPs, eligible assets must have sufficiently high trading volumes and liquidity across various exchanges. This prevents GLP from adding to long-tail assets and ultimately the protocol can’t capture a share of this trading volume. In comparison, AMMs better serve longer-tail assets.
There’s a 1.5% price change limit in place for positions that have been open for under 24 hours to avoid bots from taking advantage of the lag in oracle pricing. This limits trading volume from arbitragoooors.
To increase GLP liquidity, interest-bearing tokens could be added to the asset pool instead of their non-ib counterparts, boosting APRs for LPs and making GMX more attractive. As this adds additional risk to the pool, namely smart contract risk from other protocols, the decision should consider risk-adjusted returns for LPs.
LP price exposure
While LPs hold a basket of assets, that doesn’t mean they are exposed to asset prices according to the target weights.
Firstly, actual weights might deviate from target weights. Secondly, the actual exposure depends on the positions of traders, as LPs automatically take the other side of all trades.
Example
GLP consists of 50% ETH, 50% USDC (for simplification)
ETH increases by 10%
If no trades occur, LPs would be 100% exposed to the ETH price. With a 50% ETH weight in the pool, they would make 5% profit.
Let’s say ETH is 50% utilized, meaning traders used 50% of the liquidity in the GLP to go long ETH. As a result, LPs forego 50% of the ETH upside, therefore “only” making a 2.5% profit of their ETH price exposure.
The framing for LPs needs to be considered. GLP is not a 67% crypto, 33% stables portfolio like the weights could suggest at first sight. GLP is a long-skewed bet on crypto, but to a lesser extent. Assuming an average asset utilization rate of 40% for longs and 10% for shorts (stablecoins) in a bull market, LPs have ~50% crypto exposure.
LPs are not exposed to all crypto assets to the same degree as utilization for each asset varies. The table above acts as a rough estimate of LPs’ exposure, assuming the same utilization for all crypto assets.
LPs rent out crypto exposure to traders in return for fees and profit in case traders are wrong.
As GLP is always on the other side of a trade, a valuable statistic for LPs is traders PnL. The inverse of the trader PnL shows how much profit/loss LPs made compared to hodling the assets in the pool (excluding fees). As of January 4, leverage tradoooors made a loss of -$6.2m. LPs earned $8m in fees, resulting in 14.2m net profit.
So far, traders PnL fluctuated between +$3.5m and -$7.2m. Adding the revenue distributed to LPs, LPing has been profitable at all times.
Another important question is how exposed LPs want to be under different market conditions. This relates back to the first requirement of GLP: It should hold assets that LPs want to be exposed to. Currently, GMX uses a shared liquidity model. All LPs are exposed to the price of all assets, according to their pool weights.
To account for different risk profiles of LPs, it makes sense to create a variety of GLPs with different token holdings and weights. This ultimately leads to more liquidity and raises the IO ceiling. As this could result in liquidity fragmentation, the GMX team proposed to restructure GLP based on pairs:
“i. There will be ETH-USD, WBTC-USD, etc. pairs
ii. Users can deposit into a pair using either the non-stable token or any supported stablecoin
For example, if there are two pools ETH-USD, WBTC-USD and the pools have the following amounts:
ETH-USD: $1 million worth of ETH, $1 million worth of USD
WBTC-USD: $1 million worth of WBTC, $1 million worth of USD
Internal USD pool: $1.5 million USDC, $0.5 million USDT
Internally, the USD portion will be backed by a pool of supported stablecoins, e.g. USDC, USDT.
In bearish market conditions, the issues for LPs are more severe.
While a long-skewed bet on crypto is attractive in a bull market, it can be problematic in a bear market. Traders could deplete stablecoins in the GLP while LPs are also exposed to the decreasing value of BTC, ETH, etc.
This issue remains in the newly proposed pair model. To counteract the long-skew and make GLP more delta-neutral, GMX could introduce a negative borrow fee (similar to a funding rate) for the underutilized side. This is common practice for perp exchanges when the perp price deviates from the spot price. GMX doesn’t have perp prices, so the funding rate mechanics need to be adapted.
As the goal is to make GLP more delta-neutral, a solution could incorporate GLP net crypto exposure as shown in table 1 in comparison to a target to calculate the borrowing fee. This would lower the fee APR for LPs, but in return reduce directional risk.
GLP rebalances passively once a week by updating asset prices for calculating new target weights. Fees for minting and redeeming GLP and swap fees are dynamically adjusted to incentivize LPs and traders to push actual asset weights towards target weights.
Example
If the price of ETH is $5000 and 100 ETH + 500,000 USDC is used to mint GLP, then the protocol tracks the index as being composed of $500,000 worth of ETH and $500,000 worth of USDC. If the price of ETH increases to $10,000, the index will still target the same balance of 100 ETH + 500,000 USDC, since the average price at the time of minting is used.
Updating the pricing values is executed once a week, so in the example, if the price of ETH is $10,000 at the time of rebalancing, then after the pricing values are updated the index will target a composition of 75 ETH worth $750,000 + 750,000 USDC.
(from: https://gmxio.gitbook.io/gmx/glp )
Rebalancing once a week allows GLP to keep a balanced exposure without overtrading and scaling out of winners too quickly. In ranging markets, GLP can turn a profit from rebalancing. In up only markets, GLP takes on more crypto exposure this way. This allows GMX to better accommodate trader’s hunger for longing while giving LPs more upside. The risk is that the market flips bearish before rebalancing can take place, which would lead to higher losses for LPs due to a higher crypto exposure. In down only to goblin town markets, slow rebalancing reduces LPs crypto exposure within the time frame until rebalancing. Overall, the rebalancing system acts as a cyclical adjustment of GLP in the short-term, increasing exposure in bull markets and reducing exposure in bear markets.
For more volatile assets, the rebalancing period might need to be reduced as the risk of sharp price changes increases.
Traders can go long or short any asset in the index with a leverage of up to 30x.
LPs automatically take the other side of the trade.
Example
User goes 5x long ETH @ 4,000$ with a position size of 5 ET
He closes his position @ 5,000$ → profit: 5,000$
The profit is paid out in ETH. User A receives 1 ETH from the GLP + their principal of 1 ET
Longs receive the profit in the related asset while profits from shorts get paid in stablecoins.
**Open position fee: **0.1% of position size
**Close position fee: **0.1% of position size
Borrowing fee
Traders need to pay a borrowing fee every hour. The fee is calculated based on utilization similarly to money markets like Aave.
Borrow fee = (assets borrowed) / (total assets in pool) * 0.01%
The max fee (at 100% utilization) is 0.01% per hour.
For shorting, borrow rates for stablecoins apply.
While high utilization is desirable for capital efficiency and therefore GLP APR, it might not leave room for a) swaps and b) LPs from redeeming GLP. In the case of high swap volumes, swap fees could overcompensate the foregone borrowing fees. Additionally, LPs might be less willing to add liquidity if periods of low redemption opportunities remain, capping OI. A kink in the borrow fee curve could help to bring utilization closer to an optimal rate (tbd).
Uoptimal: optimal utilization rate
U: actual utilization rate
R: actual interest rate per hour at a certain utilization rate
R0: base borrow rate per hourRslope1: max additional borrow rate per hour where U = Uoptimal
Rslope2: max additional borrow rate per hour where U = 100%Formula
if U < Uoptimal: R = R0 + (U / Uoptimal) * Rslope1
if U ≥ Uoptimal: R = R0 + Rslope1 + ((U — Uoptimal) / 1 — Uoptimal) * Rslope2
Example
Traders will get automatically liquidated when loss + borrow fee approaches the collateral value.
GMX takes a 5$ flat fee for liquidations. As the risk for keepers is higher when liquidating big positions, a % fee is preferable. This is also the industry standard for liquidations across protocols.
GMX is the governance and revenue-sharing token. Stakers receive 30% of generated fees in ETH as well as vested GMX rewards and a reward multiplier. Vested GMX also gets distributed to LPs to incentivize liquidity on top of the 70% revenue share.
GMX has a total supply of 13.25m, 7m tokens (53%) are currently circulating, 90% of that are staked. The max supply cap could be increased by a DAO vote with a 28 day timelock.
Here you can find more info about the XVIX & GMT migration.
100,000 GMX each get distributed to LPs and GMX stakers per month, leaving a runway until June 2022. The actual emissions can vary depending on the amount of reserves used and how users vest their token rewards.
Forecasted circulating supply on December 31, 2022
Subject to change, for example when additional rewards on Avalanche get introduced.
GMX stakers receive a 20% APR in esGMX and 3.2% APR in ETH (fees).*
LPs earn a 44% APR in esGMX and 28% APR in ETH.*
*At a price GMX price of 35$
esGMX rewards need to be discounted due to 1-year vesting.
Calculating the ETH rewards distributed to GMX stakers, GMX is trading at a 23x P/E fully diluted. dYdX is trading at 19x fully diluted, but as of now protocol revenue is not shared with token holders. Perpetual Protocol has a fully diluted P/E of 48x, and only 50% of revenue gets distributed to stakers.
GMX makes use of two interesting tokenomic features, esGMX and multiplier points.
esGMX
esGMX is escrowed GMX given to stakers and LPs as a reward. esGMX is non-transferrable. Users can
Vesting requires users to keep staking the average amount of GLP or GMX used to earn the rewards. Once a user unstakes, the vesting will be paused. A user can continue the vesting by restaking GLP or GMX. GMX, esGMX, and Multiplier Points can be used interchangeably.
Vesting reduces sell pressure compared to non-vested reward schedules by introducing higher opportunity costs for selling. This helps in ranging markets but won’t prevent selling in bearish market conditions, as the reward token is the same as the principal token. Both are subject to price declines. When users fear drawdowns of -70%+, they will be fine with missing out on rewards in a token they think is trending to zero to protect their capital. (If you don’t get that, you are the yield). Even more because they can get back to vesting later on after buying back lower.
Overall, the esGMX vesting model appeals to more long-term oriented users via self-selection, which ideally helps to reduce sell pressure. It is unclear though to what extent. Its effectiveness in bear markets seems limited in my personal opinion, for example when compared to the veCRV model where supply gets locked effectively. GMX’ system is more flexible for stakers versus a veCRV locking mechanism which introduces a strict supply lockup.
Multiplier points (MPs)
Multiplier points (MPs) accrue at 100% APR to GMX stakers. For instance, 1000 GMX staked for one year would earn 1000 Multiplier Points. Multiplier points can be staked and earn fees like normal GMX.
esGMX: earns fees and GMX rewards 1:1 like GMX
Multiplier points: earns fees 1:1 like GMX
The goal of MPs is to reward long-term holders without additional inflation. On the other side, this means “punishing” latecomers as the pot (revenue) stays the same, but early adopters receive a bigger share.
Newcomers earn a lower APR than in a system without MPs which reduces GMX’ attractiveness and could harm demand and token holder growth. Early adopters are generally rewarded with token price appreciation and already benefit from compounding esGMX.
There are two different perspectives on the term “long-term holders”: People that have been in it for a long time (past) and people that will be in it for the long-term (future). As described in the prior paragraph, the first group is usually rewarded automatically. While commitment into the future is valuable for projects, the payoff for users is uncertain which could warrant introducing incentives for long-term commitment.
Putting it all together
A tokenomic model similar to the mentioned veCRV model could represent an alternative. Disclaimer though, I am a ve token model simp.
Stakers lock their GMX for a desired time. The longer they lock their stake, the higher their boost for esGMX and ETH rewards. The MPs can remain to give an additional bonus. This way, newcomers can compensate lower MPs with a long-term future commitment to GMX. Early stakers have an additional reward with MPs but still need to actively compete for token rewards through locking. Token locking further reduces sell pressure in extreme market conditions. A middle ground between flexibility for stakers and long-term supply reduction can be found by having a shorter max lockup period, for example 6 months compared to Curve’s 4 years.
GMX is currently distributing all rewards to stakers and LPs. While APRs are usually the best marketing, they also attract mercenary capital. Keeping a share of revenue in the treasury to strategically build out the protocol for the long-term, e.g. through grants, could be valuable. The floor price fund hasn’t been proven successful, but there are and will be other use cases for treasury funds. At the moment, the reserve is mostly made up of GMX. In case of any issues with the protocol, token price plummets. As a result the budget that should be used to counteract negative developments shrinks and may not be sufficient to produce a turnaround. A diversified reserve holding ETH or stables is less reflexive and enables GMX to have an adequate budget when needed most. The reserve could further act as an insurance fund.
*all metrics are based on Arbitrum data only
Volumes
GMX has a daily perp volume of ~ $70m, compared to $3b for dYdX and $80m for Perpetual protocol. GMX is currently battling Perpetual Protocol for the #2 place behind dYdX. GMX has a market share of ~2.5% of decentralized perps. With more users coming to Arbitrum and GMX expanding to other chains like Avalanche, the protocol should be able to increase its market. In the long-term, GMX has more opportunities for listings and new products compared to dYdX due to the anonymity of the team. dYdX has taken a more regulated approach.
Swap volumes have been low, especially compared to perp volumes, with trading volume ranging between $3m — $10m per day. Uniswap on Arbitrum is roughly 10x of that. Aggregators integrating with GMX should help drive volumes in the future, as GMX often offers the best price to traders thanks to zero impact trades. Launching on new networks also provides a new opportunity for GMX.
Fees
As of January 4, GMX has generated ~$11.5m in fees since September 1. Currently, the protocol makes ~$112k in daily revenue.
OI
OI has fallen off in the second half of November, coinciding with more difficult conditions in the general crypto market. With bullish sentiment increasing since the end of December, OI has climbed back up.
At the same time, AUM in GLP has been climbing until the end of November, resulting in a lower total utilization rate for some time now.
Traders have gotten more cautious longing. Utilization rate for longs has decreased from 80% to 30%. Since the end of November short utilization has been going up from 10% to ~25%. As GLP is a long-skewed basket, this cannot compensate for the decreased demand for longs.
OI on GMX seems to be momentum-driven, similar to perp trading in general. Perps on centralized exchanges have shown a similar pattern in November. Strong shifts in sentiment based on big price moves tank OI, which afterwards takes time to recover.
Users
In total, GMX had 7,200 unique users since September 1, approximately 10% of dYdX’ users (launch end of 2018). Perpetual Protocol, which launched in December 2020, has 8,700 unique users.
GMX has around 200 daily active users (Perpetual Protocol: 250).
The user base grew 40% in October, 20% in November and 12% in December. Growth rates declining and GMX almost reaching the user numbers of Perpetual Protocol indicates that GMX successfully acquired the first wave of currently available market demand and now needs to expand through other tactics. User adoption of Arbitrum would help, but is not in the hands of GMX. Adding new chains can bring in new user. The main driver for user growth will be the increasing demand for decentralized deriatives in general, further pushed by external catalysts (like regulation of CEXes). GMX with its anon team, strong tokenomics and unique shared liquidity model has the potential to not only retain its current market share of the growing pie of decentralized derivatives, but to outperform competitors and grow the share. I am personally looking forward to a blueberry pie.
To grow trading volumes, the team is brainstorming around a trading incentives program which would give users a rebate in esGMX when trading on GMX. At the moment GMX doesn’t reward traders, only LPs. But LPing doesn’t correlate with revenue for the protocol (GLP mint/burn fees are negligible). At low utilization rates, revenue for stakers will be low in comparison to the token rewards given out to LPs. Distributing rewards to traders based on trading volume creates a direct link between CAC and revenue. Since rewards would be vested, the risk of mercenary capital farming & dumping is lower than for normal liquidity mining. This type of referral programm can help bring in new marginal users. By doing so, GMX can ensure steady growth with actual product-market-fit (PMF), instead of faking PMF by extensively and unsustainably incentivizing demand.
GMX is a decentralized perp protocol well-positioned for the growing demand for crypto derivatives and will likely benefit from regulation of CEXes and its competitors. It’s chain-agnostic orientation further increases the target market. With L2s launching and working, low-cost L1s, decentralized derivatives are finally possible and GMX is at the forefront.
The shared liquidity model of GMX still has to prove itself and needs to be improved upon in the future. Features like cross-margin are also essential for acquiring new users. The team has shown their openness to the community to discuss the protocol’s future development and has been shipping at an immense pace. Therefore, GMX has good chances to overcome these challenges.
GMX makes use of innovative tokenomics mechanics which are the result of experimentation with XVIX, (x)GMT and finally the migration to the GMX token. The current system already does a good job at aligning users for the long-term. More importantly, the team has demonstrated their willingness to make adjustments if needed.
Disclaimer: I am comfy long GMX and GLP. The content above is for informational purposes only. Not financial advice.