Enable sETH2 Integration With Curve Finance

Motivation

One of the defining features of StakeWise is our liquidity: with over $160M of liquidity in our UniSwap pool, we can accommodate large volumes with minimum slippage. It is important that our liquidity provisions increase as we grow as a platform, and a part of that growth involves deploying liquidity pools on new exchanges.

Enter the new sETH2 / stETH Curve Factory Pool. Whenever sETH2 is locked within a new smart contract, such as this Curve pool, we are required to make smart contract changes so that rETH2 correctly accrues to our LPs’ wallets and not within the pool contract itself. The specification below will account for such changes and require a snapshot vote to be executed. More on that later, let’s first explore our intentions with this new pool.

Why Curve?

Curve is an exchange dedicated to stable asset pairs and is consequently a great fit for providing liquidity between staked ETH tokens and ETH. Lido uses Curve as the flagship liquidity platform for their staked ETH token (stETH) and has shown great success in both peg stability and attracting capital into their liquidity pool.

Curve also allows liquidity providers to earn CRV, the Curve governance token, on top of the usual pool trading fees. This topic can get fairly complex and warrants an entire thread dedicated to how the Curve rewards work. I will be posting this thread shortly, but for the time being, what is important is that there are potential extra rewards for liquidity providers in the form of CRV.

Why Pair With stETH?

Capital efficiency in liquidity pools is a key limitation to the current DEX model. It does not make economical sense for liquidity providers to deposit their assets into a liquidity pool unless they are receiving extra incentives to do so. Our current sETH2 / ETH pool partially solves this problem, by allowing users to earn staking rewards on half of their liquidity position through sETH2. StakeWise is still required to incentivise users to deposit their ETH however, else they may as well stake this ETH and earn ~5% staking yields instead.

What if both assets required for a liquidity position are both yield-bearing? This is the beauty of a dual staked ETH token pool, both sETH2 and stETH will entitle liquidity providers to staking yields on their entire position.

Pairing sETH2 with stETH will allow StakeWise users to trade their sETH2 back into ETH by leveraging the liquidity of Lido’s own stETH / ETH pool, which currently sits at over $4B TVL.

Furthermore, as staked ETH tokens become more ubiquitous across the ETH ecosystem, providing efficient liquidity between different staked ETH tokens will become ever more important. This new Curve pool will provide a cornerstone for such liquidity.

A Quick Note About Oracles

When sETH2 is integrated onto third-party platforms, it is important these platforms have a reliable price feed for sETH2. This is of paramount importance when sETH2 is used as collateral on money markets such as within Rari’s Fuse pools. Chainlink price oracles are viewed as the gold standard and we have had productive discussions with their team to provide an oracle for sETH2. Currently, the sETH2 price feed is provided by a UniSwap TWAP oracle, and upgrading this to a Chainlink oracle will unlock some important integrations.

One of the main requirements for Chainlink is to have sETH2 listed on multiple exchanges, which this new Curve pool will satisfy. Another requirement is to have quality trading volumes for sETH2 across these exchanges. Arbitrage bots will help us here, by eliminating any price discrepancies across platforms, they will not only help us maintain a stable price peg, but naturally boost trading volumes as well. We will be working closely with the Chainlink team in the near future to upgrade our sETH2 price oracle.

In the meantime, let’s get back to business. Before users can deploy liquidity into this pool, we need to update the smart contracts according to the below specification.

Specification

  • Disable rETH2 rebalancing for sETH2 within Curve Factory pool 105, so that it can be distributed by the oracles through the Merkle distributor.

Snapshot

The snapshot is live: Snapshot

7 Likes

Great news! Are we at all worried that we might miss gaining some ETH in the Stakewise staking pool because people will stake part of their ETH with Lido, to be able to participate in the Curve sETH2/stETH pool?

3 Likes

A pool where both sides are yield bearing ETH sounds like a good idea. Are we planning to incentivize the pool directly or apply for a gauge and incentivize through convex? Have we tried reaching out to Lido to see if they’d also be willing to incentivize this pool?

1 Like

I think if we make it clear to users that they can provide single sided liquidity to this pool then it would minimise the impact of this. We aim to make adding liquidity a native integration directly on our DApp so can explain what options users have when it comes to adding liquidity.

2 Likes

Hey! We intend to add a gauge to this pool and consequently integrate with Yearn/Convex. Whether the community wishes to add further SWISE rewards on top is yet to be discussed.

We have not spoken to Lido - I cannot see the rationale for them to incentivise this pool tbh

1 Like

Aren’t curve rewards locked for years?

1 Like

Curve rewards would not be locked for LPs. Curve does have a mechanism where CRV holders can lock their CRV away for between 1 week and 4 years in order to get veCRV and extra benefits, but this is not mandatory. I will be posting a full guide on Curve over the coming days to explain the key points of the platform

2 Likes