sETH2 / ETH Pool Improvements

Concentrated liquidity within UniSwap has proven to be very effective and has maintained great peg stability for sETH2 over the past several months. Whilst we are planning to propose the deployment of a new Curve pool to help boost StakeWise liquidity even further, there are potential improvements to our UniSwap pool we would love to get the community’s opinion on.

The areas for improvement are 3 fold:

  • Reduce the trading fees to bring our peg closer to 1-to-1 with ETH.
  • Remove the onus on users to select and maintain their own liquidity range and reduce the technical hurdles involved with interacting with the UniSwap interface.
  • Transition away from NFT LP tokens towards fungible tokens that have the ability to be integrated into the wider DeFi landscape.

Reduce Trading Fees

Currently, the largest factor that impacts the cost of un-staking from StakeWise is the 0.3% trading fee. The rationale for this fee tier was to allow LPs to benefit from trading activity within the pool. Since inception, however, it is clear that the trading fees alone form an insignificant contribution to an LPs APY. One of the key reasons for this is a lack of arbitrage trading opportunities for sETH2 across different pools/DEXs. Launching new liquidity pools will improve this and naturally boost trading volumes within the UniSwap pool, however it is hard to quantify what the increased trading revenues will be.

We need to ask ourselves what is more important:

  1. Trying to boost the APY of LPers with trading fees, or
  2. Reducing the slippage to bring us in line with competitors (i.e. Lido)?

We are leaning towards the latter and are going to recommend a transition to the lowest possible fee tier (0.01%). Changing the fee tier means setting up a new pool and I touch upon the implications of this later. The 0.3% pool will continue to exist (unincentivized), with the newer, 0.01% fee pool executing the majority of the trading volume given the lower costs.

Maintaining a Liquidity Position, UniSwap UI and LP Token Fungibility

There are several issues with the current process for adding/updating liquidity. Firstly, there is no denying that the UniSwap UI is not particularly intuitive for new users. On top of that, we require users to know and select the optimal range for their position and understand how the distribution of SWISE rewards is impacted by that range. There are also situations where users need to adjust their range due to movements in the price of sETH2 (as per the end of last year), for which there are gas costs involved.

All of the above issues will increase if we transitioned to a lower fee pool because it is the fee tier that defines the size of each tick. For example, with a 0.3% fee, one tick is every 0.006 sETH2 per ETH, hence, the current optimal one-tick range is 1-1.006. With a 0.01% fee pool, ticks will be 0.0002 sETH2 per ETH and will be very easy to make mistakes.

We have been in discussion with Gelato, an automated liquidity manager for UniSwap V3, whose G-UNI product has the ability to solve all the above issues. Users would be able to deposit their assets via the Gelato app and receive a fungible G-UNI (ERC-20) token in return. The Gelato smart contract will then handle all liquidity deployment within the UniSwap pool. Anytime the liquidity position needs to update the range, the Gelato contract will handle this, including paying the gas costs so individual users do not have to. Users can simply deposit and forget. LPers can burn their G-UNI tokens at any time to receive the underlying tokens and the accrued fees that are being stored on UniSwap V3 by the G-UNI contract.

There are two extra benefits to using G-UNI:

  1. Recall that UniSwap LPers earn trading fees in the native assets, so ETH and sETH2 in our case. The G-UNI strategy can automatically reinvest earned fees back into the Uniswap liquidity pool to achieve a compounding effect. This procedure is handled by bots within the Gelato Network. These bots constantly monitor the accrued fees of the pool and execute the fee reinvestment function when sufficient fees have been collected and it is cost effective to do so.
  2. All G-UNI LP tokens are fungible and some protocols already have their G-UNI LP tokens listed on both Maker and Aave. This opens up some great opportunities, allowing LPs to not only gain liquidity mining rewards but also utilise their LP positions as collateral to borrow assets. Early discussions with the Aave team have shown promise for adding a sETH2/ETH G-UNI token as collateral, however, it will ultimately be up to Aave DAO to whitelist the asset.

General Due Diligence for Gelato

  • A video explaining how G-UNI works can be found here.
  • Introduction to G-UNI blog post
  • Gelato launched in July 2020 and the G-Uni product is being used by some top projects, such as Maker, Rari and instadapp.
  • Gelato is non-custodial, decentralised, and uses no external oracles or other dependencies.
  • Gelato takes 2.5% of pool fees earned as revenue for G-UNI and the re-investment bots will also get paid back for the gas costs using the accrued pool fees.
  • G-UNI contracts were tested and audited by two external Audit companies as well as multiple times by the MakerDAO core development team.
  • Adding an extra layer of smart contracts is not without risks. Gelato experienced a smart contract vunerability last year as described here. Our experience of interacting with the Gelato team and observing the adoption of their solution within DeFi has given us confidence as a core team to offer G-UNI to our community.

How to Incentivise a Transition to a New 0.01% Fee Pool?

The first step would be to update the monthly SWISE rewards distribution contract to allocate the sETH2/ETH pool SWISE rewards to the new, 0.01% fee tier pool. The G-UNI contract will be an LP within the new pool and consequently allows G-UNI users to benefit from SWISE rewards in the same manner as those who supply their liquidity manually. We want to ensure that users not only remove liquidity from the current 0.3% pool but re-deposit that liquidity back into the new pool. We are very cognizant of the gas costs involved with this process. Whilst gas fees are very forgiving right now and it feels like an optimal time to transition, we will still be asking our users to take on costs for the ultimate benefit of the protocol. It is worth noting that if users decide to transition to the G-UNI contract, this will be the last time they will need to pay gas fees for the UniSwap pool as the future liquidity management will be paid for by the G-UNI smart contract.

We would love to hear your opinions on the following points in particular:

Should we transition to a lower fee pool?
  • Yes
  • No

0 voters

Implement Gelato G-UNI for automated liquidity management?
  • Yes
  • No

0 voters

Is it important that the gas costs are supplemented for the transition of liquidity from the 0.3% tier pool to 0.01%?
  • Yes
  • No

0 voters

4 Likes

I’m all for a simpler user experience for participating in the pools . If it was as easy as staking is on app.stakewise that would be great.

If passed, how soon will the migration happen?

Would the pool’s apr remain in the same range that they are in now?

Would the rewards still be paid in swise/reth2 or would everything be in g-uni tokens?

I checked out the linked video etc but still unsure of how that part works.

Thanks.

1 Like

We would be hoping to get this new pool up and ready for next month’s SWISE rewards vote, so a few weeks.

The pool’s APY is dependent on the amount of liquidity provided to the pool. Assuming all the liquidity from the current 0.3% pool is transferred to the new 0.01% pool, there would be no change in pool APY.

The UniSwap pool will still fundamentally pay rewards in sETH2/ETH (note that we are only considering adding G-UNI to this pool for now, not the SWISE pool). If you manually add liquidity to the new pool, you’ll receive sETH2 and ETH just like you currently do. If you decide to deposit with G-UNI instead, then the sETH2 / ETH rewards will accrue within the G-UNI contract. These rewards still belong to you though. You would need to head to Gelato to burn your G-UNI LP token in order to receive your assets (your liquidity position plus accrued sETH2 / ETH rewards).

Hope that helps!

1 Like

Ah ok… so right now this change would only be to the eth/seth2 pool not seth2/reth2 or swise/seth2?

I’ve helped a few beginners participate in the pools on app/stakewise and I know it makes them uncomfortable to have to “go somewhere else”- for example going to Uniswap from app/stakewise to LP- anything you can do to make most everything happen using the app.stakewise interface the better imo. They would be happy to pay higher gas fees if everything took place from within the stakewise app.

2 Likes

Correct - only the sETH2/ETH pool.

I hear you and we fully get it - our aim is to make the entire StakeWise ecosystem as streamlined and’native’ to our DApp as possible

2 Likes

I like these changes J!

What’s the ETA on this?

1 Like

It would be nice to have this new Uni pool and Gelato ready for when we need to refresh the monthly SWISE rewards (~2 weeks)

2 Likes

sounds awesome \o/

cant wait to deposit

2 Likes

This is amazing! Let’s do this! Glad to hear we can get this out the door relatively quickly! :slight_smile:

Good move to push these ideas we touched in previous posts.

All the best to the Stakewise Team, ecosystem and users!

2 Likes

This proposal sounds good to me. Quick question @pnut - Do you think we are still on track the deployment in ~2 weeks (i think that’s when the SWISE rewards refresh happens). Not busting any chops here :), just keeping an eye out for cheap gas to remove my LP before moving into Gelato.

1 Like

I am going to have to disagree with this proposal.

In particular the idea to reduce the trading fee.

  1. Trading fees are not actually insignificant, they sometimes even reach 3%, not sure what the average is over a year.

  2. I think it’s a problem that so much liquidity providing is only profitable due to a subsidy. It would be far more healthy if providing liquidity was profitable merely thanks to trading fees. The ultimate objective must be a situation where no subsidy is necessary.

  3. When subsidies are eventually removed, the amount of liquidity should adjust itself to a level where trading fees make it profitable to provide liquidity. A trading fee that is 30 times lower would logically lead to 30 times less liquidity.

  4. For small liquidity providers who prefer to invest manually (or would rather not add yet another smart contract layer between them and their money), the current fee is already tiny, that it is often hardly worth claiming, with an even lower fee those accumulated fees may take forever to add up to anything more than the tx fee to claim them.

  5. The current trading range is nice and stable, no-one needs to move their position around. And in all likelihood no-one will in the future either. Also currently no-one needs to add another smart contract layer to manage their position. No-one has the additional costs of moving positions, no-one has to hand over a percentage of the fees to a managing contract either. From a liquidity provider perspective there is really nothing wrong with the current situation that needs fixing.

2 Likes

Thanks for raising these concerns - it is important to raise such points.

I will look to do more analysis on the trading fees, such as confirming what the average fees are currently, what we can expect when arbitrage trading picks up after we set up more liquidity pool etc… It would be good to get hard numbers to compare the benefits of trading fees vs lower slippage.

Given we are launching the curve pool this week, it’s best if we do not try to do too much with our liquidity in one go. There is no need to rush here - let’s focus on our Curve pool in the coming weeks whilst discussing these Uni pool changes further. @bZ1 - check this last part regarding your question :slight_smile:

2 Likes

I’ve run some numbers on the trading fees. You’re right that the APRs do reach between 3-5% on the odd day. Looking at some longer term averages, throughout march, trading fees provided ~0.35% APR on average. YTD the trading fees were ~0.43% APR.

It is worth nothing that the pool TVL has grown by 80% over the past 2 weeks, whilst the trading volumes have declined, causing the lower APR seen in march.

1 Like

Agree and disagree. In part you’re right, the current situation is ‘comfortable’, and adding another smart contract layer is not ideal, I also personally don’t like it. On the other hand, I think it’s a pretty high fee for large deposits and it’s quite larger than that of Lido (0.04% on Curve)

This isn’t possible, under the current scheme there’s not enough trading volume for liquidity to not need to be subsidized, there’s just simply no reason to pool simply because of trading fees.

Subsidies also allow for the distribution of the platform’s governance token, which also incentivizes active participation.

This would be cool, but there’s simply no project that operates like this at the moment in DeFi, at least no large one that I’ve seen.

1 Like

It is possible of course, the effect of the subsidy is to increase liquidity (because providing it is still profitable at higher amounts of liquidity when there is a subsidy). Without the subsidy there would simply be less liquidity.

Not what I am advocating for right now btw, just explaining the mechanism.

Yes, they nearly all do it, but that doesn’t resolve the question, for how long? At some point all these projects must become naturally profitable (i.e. without a subsidy), they can’t continue to issue more tokens forever.

For us the question is do we want to move away further from a naturally profitable market, which will require high subsidies forever. Or do we want to move to a situation where we can slowly build down the subsidy over time. (A few months ago there was quite a discussion about ending the subsidy altogether.)

1 Like

What ETH liquid staking pool other than rocket pool (on Uniswap) does this? even rocket pool had heavy incentives on their Curve wstETH/rETH pool, now theyve gone down and around half the subsidy will go back up, but as far as I know, every single ETH liquid staking pool subsidizes their liquidity at the moment.

Also rocket pool’s Uniswap pools have very poor liquidity compared to Stakewise because there’s no subsidy.

Which is not desirable, the deeper the liquidity, the more negligible the effect on the user’s principal when unstaking. Perhaps in the future hardfork after the merge, when withdrawals are enabled, it’ll make sense to remove incentives, but at the moment the liquidity must be as deep as possible. So that depositing in the pool becomes more attractive, user friendly and lives up to the name of the type of protocol being built: liquid staking.

I understand and agree with you for the most part. I don’t disagree that incentives should eventually be removed, they eventually will be removed (as per token release schedule), but by that time liquidity should be sufficiently deep so that removing the incentives can be justified. Incentivizing a pool is, in itself, a protocol cost.

Also, assuming they’re removed by that future hardfork, there would need to be an alternative way to issue and distribute SWISE to the community as per release schedule, but I don’t think this is a problem.

Undistributed Swise can always be burned as a last resort, but I think there will be enough things in the future that we may need it for. It’s a valuable asset that we should be careful with, and use in the most efficient way possible.

Personally I think that sometime after the merge we should rediscuss the current subsidy levels for the liquidity pools, to see if they can be lowered.

That will be easier if the liquidity revenue from transactions stays as it is now.