agEUR - ETH range management

Hey everyone !

As LPs and others may have noticed, the Uniswap V3 liquidity position wrapped by G-Uni and incentivized by Angle for agEUR - ETH may fall out of range given the current market condition. It may also happen for agEUR -USDC.


Angle as a management privilege on these Uniswap position and we may want to modify the range - on the condition of a vote of the LPs.

There are many options, and we would like to hear your thoughts on them:

  • Don’t change anything. It’d mean that the pool may be paused, so fees would stop accruing and the on-chain availability of agEUR would be damaged. But it may be the best options for LP at it’d also mean perfect reversion and no loss if the price was to go back to previous levels.

  • Wait until the liquidity goes out of range, then gradually decrease the lower range of the position. This imply no swap if the liquidity managed, so no IL, and the pool would start again as soon as the price increases. But reversion would not be perfect in this case.

  • Increase the range in both direction so that no liquidity swaps are necessary, so the pool does not stop and keep on accumulating fees. Loss in case of reversion would be significant and the upper range may be super high so the pool may not be as efficient.

  • Swap a part of the underlying liquidity and redeploy on an other range. Once again, the pool won’t pause, and reversion won’t be perfect but it may a strategic move.

As discussed on discord with @sogipec, it seems it could be possible to use the Angle swapping modules with swap fees set to 0 for the duration of the transaction to re-balance the pools without slippage or fees.

I think usually when people LP they like to have exposure to both underlying assets, and being heavily imbalanced changes that.

For the agEUR/USDC pair I’d much rather be around 50/50 rather than 90/10 because it spreads the risk of exposure to the underlying currencies. The IL risk is more tied to the range: the bigger the range the lower the IL, but that is a bit different than the imbalance.

So speaking personally I’d vote in favour of rebalancing the agEUR/USDC back to 50/50 and keep the same kind of range (of ± 16% of current market value).

I don’t have an ETH/agEUR position and that is a bit more complicated due to the high IL effects if eth goes back up.

What happens if we get out of range? the tx fees stop but won’t the ANGLE emissions continue?

1 Like

This was always going to become an issue at some point due to the nature of uni-v3 ranges. I think the best solution is one that:
-Gives LP’s the choice whether or not to migrate, since that impacts potential IL.
-Maintains reasonable liquidity concentration to make using agEUR attractive (keeping trading spreads tight).
-Does not lead to a reduction in agEUR supply

In my opinion, the most straight forward solution is to re-center the liquidity into a new, more optimized range with a new G-uni position, and point the Gauge to this new position. Give a 2 week notice of this change so people can decide for themselves if they want to migrate to the new gauges or not.

I don’t like the idea of doing a DAO organized migration because that would require burning agEUR, solidifying IL for LP’s, and is generally a more complicated approach. I like the simplicity of just making new G-uni positions, and point the gauges to them with some notice, and let the LP’s decide what to do.

I think the ranges should be +/- 16% for agEUR/USDC, and 300-3000 for agEUR/ETH (I know that’s not centered, but ETH is an asymmetric asset, so it should use an asymmetric range IMO)

1 Like

I agree that it’s good to give LPs an option to migrate or not, but can this be done in a way that doesn’t require development from protocols built on top of angle ? (thinking of the liquid lockers).

However that would end up being more expensive in gas and swap fees for LPers.

Is there no uni-v3 wrapper that auto-adjusts over time, kind of like a curve v2 pool for uniswap? Seems like opening a new vault and a new range is only a temporary fix

@Picodes what’s the reason for using uni-v3 pools instead of a 50/50 agEUR/USDC balancer pool or a curve v2 factory pool with low fees ?

To answer your question, yes exactly, the tx fees will stop and ANGLE emissions will keep going. The problem here is that the protocol would be spending ANGLE for no useful liquidity …

Switching pools through incentives rather than manually

I’m also in favor of not doing the migration manually but switching incentives to a new option, if any.

Next steps

On the migration itself, I feel like the current situation is not ideal for anyone. However, changing it too quickly could be costly for LPs, especially if price reverts in some time.

I think we need to find a long-term solution working for both LPs and the protocol/agEUR liquidity. Even if Uni V3 can be better liquidity wise in some cases, it appears it’s not working well as it is.

Curve V2 didn’t exist at the time. Even now that it does, it’s better to not have everything on Curve and keep some good agEUR liquidity on protocols like Uniswap.

I think this would be an ok solution for agEUR liquidity in general, but I don’t see it as a very good option for agEUR/ETH LPs, as their % of holdings would vary a lot.

Looks like the price fell back into the range but illustrates nonetheless a need for an upfront strategy to manage these ranges on behalf of LPs.

However, the existing range over which the strategy is currently extended is highly asymmetric, to 15k. Is there really that much fee dilution if the range were broadened to say 500 on the downside? Compared to the complication of setting up a new gauge/strategy or letting it fall out of range for n days.

Also, although obviously less capital efficient than having a well-targeted range arguably the role of these LPs is to… provide liquidity, so they should be prepared to cover a broader range / potentially lower APR from fees.

After thinking about it and exploring some alternatives, here is where I stand on the issue so far:

  1. UniV3 pools provide a good oracle solution
  2. We need a viable solution for LPs that rebalances the pools actively so that liquidity is following the price in one way or another, while minimizing IL and cost for LPs.
  3. We need a way to reward LPs, likely through an ERC20 wrapper of UniV3 positions.

In short, an active UniV3 liquidity management protocol that reduces cost and maintenance for LPs while maintaining balanced liquidity would be the ideal solution.

I’ve heard about Gamma, and have started to look into it. If you know about any other option, please let us know!

Interesting, I hadn’t heard of it before. Layering in solutions on top of solutions on a v3 position to make a flexible range that adapts to all market conditions is starting to look a lot like we the industry is busy reinventing the v2 LP.

I’m not so sure we need a constant rebalancing solution. In fact, rebalancing too often will likely lead to sub par results for LP’s. I don’t think it’s too much to ask to have LP’s manually rebalance once every 6-18 months. There is less technical risk that way.

I maintain that at least for now, it’s better to simply create new pools with more appropriate ranges, and allow the LP’s to migrate if they want to. agEUR/USDC range of .88-1.20 should be valid for at least a year, and agEUR/ETH range of 300-2500 should also be sufficient for quite a while. The new agEUR/ETH range I’m proposing will be a huge improvement for liquidity compared to the current range of 1000-15000.

I’m open to looking into Gamma for a longer term solution in the future, but I’m a little bit hesitant because they have already had 2 exploit incidents.

1 Like

I fully agree with you ! I think creating new pools when needed is the best solution so far, and the range you propose are also what I have in mind.

1 Like

Hello !

Good question!

My feelings:

  1. For LP providers (and also for ZAPPER/DEBANK/ETC.) , the change of the underlying asset (GUNI token) inside the gauge more than every 6 months is not the best as it requires extra work (and there was already a migration done some weeks ago) and creates a “tax event” for everybody (even if most of people doesn’t know it)
  2. Concerning the Range itself, if you change to 300-2500 ETHAGEUR then you will lose the LP providers that are bullish in ETH. They bought ETH at maybe 3000, they don’t want to be fully converted into AGEUR at 2500 ! So It will decrease the liquidity ! As consequence, I would not change the range for the moment (unless we haven’t yet seen the dip of the bear market)
  3. Right now it is inside the range (1 ETH = 1,162.994 agEUR) so let’s not change anything!

Thank you!

2 Likes

I agree that there is no need to change the range yet. We can wait until one or both pairs are out of range before doing anything. But it is important that we have a plan for when they do go out of range. I also agree that we don’t want to change things every 6 months, but it’s my opinion that the ranges I suggested will be sufficient for probably more than 12 months, based on previous levels of volatility in past cycles.

@GTRminator @0x095ea7b3 @adcv @Tokenwood

Following your comments, I wrote a proposal here: Uniswap V3 incentives and range management

I’ll be super interested in hearing what you think of it !

1 Like