GLP Performance Improvements

To improve the performance of GLP and to guard the pool against edges cases as well as black swan events we propose the following changes:

  1. If a price update is more than 0.4%, there will be a spread of (price update size - 0.4%), for example, if the price is 100.0, then updates to 101.6, the prices used for settlement would be 100.4 and 101.6, in this case opening a long would be at a price of 101.6 and closing it would be at 100.4. This helps guard the pool against edge cases of large price updates beyond the 1.5% threshold where a position could be opened and closed in profit immediately. The 0.4% helps reduce the impact of these cases while maintaining a minimal spread for the majority of the time. Based on analysis of past data, there should be no spread in 90% of cases and less than 0.2% spread in 99% of cases even with this change.

  2. For stablecoins, currently only the Chainlink price is used, in cases where a stablecoin’s price traders below peg and there are profitable shorts, there may not be a sufficient amount of stablecoins to pay all traders, to prevent this from occurring, there should be a spread between 1.00 and the Chainlink price, for example if the Chainlink price is 0.98, then the spread would be from 0.98 to 1.00, when closing a profitable short, the 1.00 price would be used and ensures that all traders can be paid proportionately even if a stablecoin trades below peg.

  3. To guard against black swan events, e.g. a large short position is opened and prices drop by a large amount, the size of shorts should be capped, we propose to cap the maximum shorts to 30% of the total pool size. This can be done by creating a reserve contract that will strictly allow transfers only between itself and the GLP pool. Having this structure allows the GLP pool to have a reduced amount of funds exposed to trading and any other risks, while being able to scale as demand increases.

  4. Based on analysis of the current price updates, changing the min profit duration to 6 hours instead of the current 12 hours should not adversely affect the performance of the GLP pool and could benefit it by increasing volumes


Sound like well-considered safeguards. And scaling down the 12 hour minimum waiting period is a great improvement.

1 Like

I support it.
Addendum for #3:

  • A cap of 30% of net shorts is proposed.
    I suggest a cap equal to 30% of the pool in excessive shorts.
    Like if the pool is 100 mil, and the OI in longs is 10 mil, then we allow max 40 mil of shorts.

  • Smaller caps for shorting every coin except BTC and ETH, based on total reported spot volume of that coin.

1 Like

makes sense to me, i support

1 Like

Sounds like good refinements.

1: This sounds reasonable. How would it affect a position being closed via limit i.e. at a take profit on a short during a crash? Would it affect the slippage on such positions adversely? Or does it only apply to orders which are both opened/closed on the same price update?
2: Makes perfect sense.
3: Ultimately with utilization (involving leverage) there does come, at some point, asymmetric risk that must be tempered. No one wants to limit utilization, but everyone wants protocol stability. A necessary tradeoff. Why is 30% the right number?
4: Makes perfect sense.

1 Like

Having the short cap be based on OI in longs makes sense.

We can allow more shorting on smaller caps on Avalanche, on Arbitrum the contracts only allow capping based on the amount of stablecoins in the pool and we cannot change that without requiring everyone to migrate to a new contract. The reserve would help as a workaround at the moment, by capping the amount of stablecoins available for shorts.

  1. the order would only be executed at the specified price, e.g. if it is a trigger order for > 99.9 and the spread is 99-101, then the order would not be triggered, if the spread closes to 100-101 then the order would be triggered and executed at a price of 100

  2. i think 30% should be something that is configurable, so it can scale up as general OI increases, for the thinking on having 30% as a starting point, in my view it provides a middle ground between pool exposure and not restricting regular usage by too much

1 Like

By saying “smaller caps for shorting every coin except BTC and ETH”
I meant allowing less shorting, not more :slight_smile:

makes sense, definitely want to cap the shorts on less liquid coins, probably would be based on liquidity on other exchanges