Create a Prediction Market for the Tokens within GLP (Revenue + Capital Efficiency)

Problem Statement:

  1. GLP TVL is rising quite fast, will continue to do so and this will dilute APR if it outpaces trading volume growth.

  2. In the event that lending platforms allow you to use GLP as collateral or even leverage your GLP position (e.g similar to UST degenbox on abracadabra), we may see even faster growth in the GLP TVL.

  3. This increase in GLP, while beneficial in allowing larger trade volume, will not directly lead to increased trade volume. Instead, large amounts of GLP collected will be sitting idle – even now, pool utilization is not ideal.

Proposed Solution:

  1. Overview

1.1. This solution aims to be capital efficient with the TVL in GLP by more directly scaling revenue with GLP TVL, and be a useful product that anyone in DeFi would be interested in using.

1.2. The conclusion is to allow users to change the % weighting of the constituent tokens of their GLP by trading amongst one another, while continuing to accumulate the GLP yield.

1.3. This enables different strategies with GLP, all of which would require transacting in the prediction market – accruing fees to GMX. Strategies include, changing one’s USDC weightage to 100% to get high yield on stablecoins, or the converse which would be to get higher exposure to BTC/AVAX/ETH. Since market participants are aware that yield is being accrued to their positions, they are willing to buy stability or buy long-exposure at a premium based on their expectation of future price. In effect, the long-termist nature of accruing yield on GLP results in a prediction market being created for the assets within it that are traded at different prices according to the expectations of users.

1.4. This proposal will outline this in more detail to show how this can be implemented, from a high-level view, without changing the GLP smart contract and how assets are currently weighted within it.

  1. Implementation:

2.1. Create mechanism to lock GLP from being withdrawn while the user is participating in the prediction market. This locking is needed because users should only be able to mint/sell GLP using the current GLP smart contracts, at the prevailing asset-weightage.

2.2. To be clear, the user does not have any ownership over the locked GLP. The GLP is simply locked into a pool, and users can, depending on their trading within the prediction market, withdraw a corresponding sum of GLP when they choose to. Let me illustrate.

2.3. Upon locking their GLP, users receive xGLP that can only be used in the prediction market. While the user is accessing prediction markets, the weightage of their xGLP’s various cryptoassets may differ from the asset-weightage of GLP depending on what trades the user has made. Hence, it is only when the user wants to exit their xGLP position that they will change their weightages back to the prevailing GLP weightage of cryptoassets (by buying or selling weightages at market prices), and then be allowed to redeem a corresponding sum of GLP from the locked-GLP smart contract.

2.4. How does the prediction market operate? Create an orderbook based market where users can place buy and sell orders, buying and selling percentage-weights in their GLP position. E.g, GLP currently weights USDC at 50%, and Alex wants to change that to 25% while increasing his BTC weightage by 25% as he is bullish on BTC. He then puts up 25% of his USDC weightage for sale for 25% BTC. He sets the price he is willing to sell his USDC for, which may be at a discount or premium to the value of USDC – this delta arises from the market’s present willingness to buy or sell exposure to different assets, within GLP.

2.5. To be clear, the reason why participants are only able to buy and sell % weightage, rather than a specific amount of an asset (e.g 1000 USDC), is because the actual number of any asset within 1 unit of GLP is constantly changing. As such, this approach allows individuals to place an order that can stay on an orderbook for an indefinite period of time. E.g if Alex sells 100% of their USDC weightage on the market at a price they set, and the weightage of USDC within GLP were to change from 50% to 1%, their market order and limit price remain valid and executable.

2.4. At the point where an order is executed, the buyer and seller have their xGLP crypto-asset weighting percentages change.

2.5. Note that throughout this process, the amount of BTC, ETH, AVAX, USDC, etc within the locked GLP stays constant – the only thing being traded is the weightages of those tokens that each GLP holder has.

  1. What’s the benefit?

3.1. On each transaction in the xGLP prediction market, the protocol can earn a fee. This fee can go to GMX holders.

3.2. A prediction market that has an underlying yield from the GLP yield would be incentivised and would draw volume from those who want to trade without liquidation risk. Since there is no liquidation risk, and since the number of participants could include even those who have lower-risk tolerance, the fees charged on the platform could be relatively higher. This is especially so when there is no comparable product on CEXs, so no fee-competition needs to occur.

  1. I am a non-technical commentator – please point out if there are easier/better ways to implement the above in the comments!
4 Likes

Hi @tikkamasalas, thank you for the detailed proposal!

This is a very interesting idea, I think it could work, main blockers might be

  • Creating an active market for it: since creating orders would cost some gas, if there is not enough takers or activity then less people will spend the gas to add orders to the order book

  • Implementing an order book can take quite a while development wise

Will see whether we can work on something like this in the mid term.

3 Likes

@xdev_10 thanks for the feedback!

Regarding whether or not there would be takers, I think there would be plenty of people who both want to increase or reduce the directionality of their GLP holdings by increasing or reducing their USDC weightage. When BTC trades in an uptrend, people may flock to BTC but as BTC approaches tops, we would see the premium paid for USDC rise. In the meantime, people who don’t want their GLP to be directional at all can just chill in USDC.

During bear markets, USDC weightage would trade at a premium, so people are incentivised to buy USDC prior to bear markets – this is the prediction aspect, but its ancillary to the main purpose that I’m sure people would use it for and that’s just to get stable yield or yield on long exposure. Where else can you get consistent APR paid in AVAX/ETH on your BTC/ETH/AVAX etc, without liquidation risks or other risks like with Dopex’s SSOVs?

Regarding your second point on order books and the challenge in putting them together, I have no jurisdiction in the area of technical/dev work so I defer to you on whether or not the effort is worth it. Hopefully if my view about the high demand for xGLP markets is vindicated, it creates some motivation to consider xGLP worthwhile!

BTW for anyone reading the proposal, here’s a more summarised version: https://twitter.com/vnnnnnnnnnv/status/1492134346756861956

1 Like

So put another way it’s a prediction/betting market with the settlement being in GLP itself.

I think a simpler solution might be that if people hold GLP, we allow people to long or short a certain % of the constituent parts at lower costs.

So if you hold 10k of GLP you can open 5k of longs or shorts. You will collect fee income on 100% of GLP but your economic exposure will be closer to pure long or pure stables, less the hedging cost

1 Like

I’m trying to understand what you’re suggesting here – I put down 10k for GLP and since its composed of USDC and BTC/ETH/etc I can use those constituents to place longs/shorts (presumably in an orderbook, and my counterparty would be other GLP holders willing to take the other side of my trade at the prices we agree on.

I don’t quite understand how this is different from what I’m suggesting – my outcomes also appear similar, in that you collect fee income on 100% of your GLP but you trade the constituents, less the transaction costs.

Agree with those points, I think it makes sense, so it would just be weighing the cost of the development needed

2 Likes

Reading the suggestion by @coinflipcanda, I think he is proposing a way to do something similar but without having an order book

2 Likes

I shared an alternative in the discord to having an orderbook, I do think there’s a good equilibrium somewhere here where we avoid the orderbook which is in all honesty a crude solution, but also don’t oversimplify it or bring in actual longing/shorting as @coinflipcanda was suggesting (because funding fee decay is not preferable or a feasible long term strategy for GLP holders).

Let me reformulate it below, do let me know if this is less development-resource intensive @xdev_10 !

Modified Proposal:

Features of the Orderbook Model that this modification aims to solve/retain

  1. Orderbooks can lack liquidity or have spread.
  2. Orderbooks are complicated to develop and use
  3. Orderbooks allow prices to accurately reflect demand and supply since orders can be limit orders as opposed to market orders

Modified Version

  1. Some notes: (1) Anyone who wants to customize their GLP constituent weightage still has to lock their GLP; (2) even though this requires no orderbook, it still has the advantage of accurately reflecting demand and supply; (3) but by getting rid of the orderbook, this model will concentrate liquidity and ensure the strategy has high utilization rather than an orderbook with many orders but little activity.

  2. Premise: Simpler alternative to orderbook is to limit people’s choices to a few strategies, which I will call Strategy Vaults. E.g have a page that looks similar to Dopex SSOV vaults or the Francium farming strategies page on Solana which really simplify the decision-making for GLP users. Users deposit GLP in strategy vaults so that their GLP takes on that constituent-ratio.

  3. Where does the liquidity for the strategy come from? There is no AMM involved, therefore strategies must provide liquidity for each other, similar to an orderbook but without the explicit orderbook structure. E.g, in a world with two GLP holders and where GLP is 50-50 stables to crypto-assets, if one wants to open a 100% stables position, the other has to open a 0% stables position to provide liquidity. How to ensure that strategies vaults are balanced without a complex and full-featured orderbook? And how does the simplified version maintain the advantage of accurately reflecting demand/supply?

  4. Proposed solution: Vaults rebalance every x number of epochs (pick your number) whereby, the vaults accumulate GLP deposits and every x hours (I think 24 hours is ideal) they balance strategies against each other. This balancing works in a very particular way. All deposits in each strategy vault are queued according to time of deposit. Assuming the stableasset-cryptoasset ratio within GLP is 50-50, if there are 100 GLP of deposits in the stable-strategy and 50 GLP of deposits in a crypto-asset strategy, only the first 50 GLP in the stable-strategy will execute while all 50 GLP in the crypto-asset strategy will execute. The remaining GLP is left claimable by the depositors whose deposits failed.

  5. In order to incentivise liquidity provided to strategies, depositors are allowed to indicate a premium they are willing to pay. The premium has two effects. First, the premium is paid out to the counter-strategy vault, thereby incentivising more deposits until the premium is no longer attractive. Second, depositors who pay a premium have their position in the queue bumped up according to the size of their premium.

  6. If depositors anticipate that their preferred strategy will be oversubscribed relative to the counterstrategy, they are incentivised to indicate a premium they are willing to pay to obtain their desired strategy, both by increasing liquidity in the counterstrategy and by increasing your position in queue.

  7. I considered 2 other non-orderbook models but in my view this model creates the best incentives, liquidity and simplicity. It’s also very clear how GMX can earn deposit fees in this model.

  8. The major drawback here is that, unlike a more actively traded orderbook based market, there are fewer opportunities for users to withdraw, rebalance, and actively trade. Fees from active trading are potentially greater than a one-off deposit fee and depositors simply HODLing.

  9. One solution is, rather than charging any deposit fee, a percentage of the APR going to each strategy vault’s locked GLP can be taken as a fee instead. This has a few benefits – first, it facilitates active depositing/withdrawal because the user does not need to wait to break even on the deposit fee; second, it allows the protocol to continually earn fees on strategies in the vault, and those fees can increase in proportion to trading volume in GMX (since APR increases with trading volume).

Thanks for taking the time to read through this alternative proposal, I hope its more workable/resolves liquidity issues/maintains the benefits of the orderbook based model that I teased out in the original proposal.

2 Likes

That’s interesting, very cool idea, if I understand it correctly, a similar version would be something like having a few vaults e.g. MORE-ETH, MORE-BTC, MORE-USDC, users deposit GLP into these vaults, then depending on the actual prices, the worth of the vault tokens will be different.

For example, if 10 GLP is deposited into MORE-ETH, 10 GLP into MORE-USDC, and assuming the price of GLP is 1.00.

If the price of ETH increases by e.g. 10%, and the price of GLP increases to 1.05, then the MORE-ETH tokens would be worth 1.10, while the MORE-USDC tokens would be worth 1.00. If the price of ETH decreases by 10% and the price of GLP decreases to 0.95, then MORE-ETH tokens would be worth 0.90 while MORE-USDC tokens would be worth 1.00.

This works out nicely only if the vaults are evenly balanced, but in practice the amounts will be adjusted depending on the ratio of the vaults, so the desired exposure will not be 100% of the selected asset, but slightly closer than just holding GLP by itself.

2 Likes

First off, thanks for the prompt responses - I really appreciate that community proposals are engaged with. I think if I could hop on a discord call with you for 5min I could clear up this discussion pretty rapidly but I’ll answer your questions in text here since that’s the purpose of the forum.

“This works out nicely only if the vaults are evenly balanced, but in practice the amounts will be adjusted depending on the ratio of the vaults, so the desired exposure will not be 100% of the selected asset, but slightly closer than just holding GLP by itself.”

Actually this was not what I had in mind but it’s also a workable solution! What I was thinking was that the vaults would at all times be perfectly balanced, and any excess GLP deposited in any strategy would simply be left undeployed. On top of this, in order to incentivise vaults to constantly be in balance, people can pay a premium rate in order to incentivise more liquidity in the opposing vault (the premium is paid to them).

Further, since under my model there will likely always be some GLP left over undeployed, there must be a priority to whose GLP gets deployed and whose doesn’t. This priority is determined in two conjunctive ways: first, the vault considers the chronology of who deposited first (alternatively the GMX staked by the person can be taken into account); second, the vault considers if the person has indicated that they want to pay a premium, and how much of a premium they are willing to pay. There can be more specific ways to finetune this but I think this creates good incentives and more balanced liquidity overall.

I prefer this model instead of the model which you were hinting at by saying that “desired exposure will not be 100% of the selected asset, but slightly closer than just holding GLP by itself” because it offers depositors certainty of outcome. They know they are either getting 100% exposure to their desired asset or not, and this lets them stack strategies more cleanly. For instance, they can immediately calculate how much of an asset they have to short in order to get delta-neutral positions (if they obtain MORE-AVAX they can short AVAX separately and just farm GLP rewards with zero or limited AVAX exposure).

If you want to have a brief call about this add me as a friend, my discord is tikkamasalas#5024 !

1 Like

Correct, was saying the same result could he achieved more efficiently with GLP taking the counterparty position

Really appreciate the thoughts on this, not getting the desired exposure could definitely be an issue and your solution does help with that, we will see how we can fit this into the development timeline

1 Like