Adding sETH to Symbiosis Liquidity Pool

Symbiosis đź‘ľ
symbiosis-fi
Published in
3 min readJul 5, 2023

This week comes with quite a serious update to our AMM pool that we’d like to cover in this article. If one possibly recalls, in Symbiosis v2 we’re using a single-sided AMM Pool (also called “Octopool”), which makes the cross-chain swaps processing extremely capital-efficient and cheap.

For details, you can always check docs.symbiosis.finance.

The idea is that the typical route in this pool comes through stables, or, representations of the stablecoins (so-called “sStables”) on the service chain.

  • sUSDC for Polygon represents USDC on Polygon,
  • sUSDC for Avalanche represents USDC on Avalanche,
  • sUSDC for zkSync Era represents USDC on zkSync Era, etc.

All these sTokens are minted 1:1 with stablecoins, so all sTokens (sStables) in this Symbiosis Octopool have the same face value.

Now, we’re introducing a new entity in the Octopool — sETH.

What’s the reasoning behind it?

Let’s assume a user wants to swap ETH from Ethereum for ETH on Arbitrum, and she wants to get the maximum possible amount of tokens and pay less on-chain and cross-chain fees.

With the current pool design, any swap is intermediated through a stablecoin pool (i.e. we’re exchanging ETH to USDC ERC20, then swapping stables, then USDC Arbitrum is swapped to ETH Arbitrum).

There’s an apparent excessive step here, and we have to pay for it:

  1. Swapping on a separate DEX with 0.1–0.2%
  2. Paying in additional gas tokens for swap execution

Instead, we may swap with wrapping/unwrapping sETH between Ethereum and Arbitrum without the aforementioned costs.

So, from now on, for each cross-chain swap, Symbiosis finds 2 routes (a sequence of intermediate swaps):

The best route using bridging on stablecoins

Swap ETH to USDC on Ethereum → Mint sUSDC on s-chain → swap sUSDC (Ethereum) to sUSDC (Arbitrum) in Octopool → burn sUSDC to USDC on Arbitrum → swap USDC to ETH on Arbitrum

The best route using bridging on ETH

Send ETH on Ethereum → Mint sETH on s-chain → swap sETH (Ethereum) to sETH (Arbitrum) in Octopool → burn sETH to ETH on Arbitrum

Then Symbiosis compares these two routes and offers the best one for the user. Also, in the future, we can consider setting up a custom pool for other tokens/gas tokens based on the demand discovered in the protocol.

We’ve calculated that on average, such a design helps us achieve % a better price for certain swap destinations. For example, from Arbitrum One to zkSync. Let’s take a look:

ETH pool

Stablecoin pool

Perfection is perfected so… Stay tuned for the updates 👾

--

--

Symbiosis đź‘ľ
symbiosis-fi

Symbiosis is a cross-chain liquidity aggregation protocol. Best rates for any to any token swaps. EVM and non-EVM networks supported.