LST Stable Swap

Overview

Bifrost Stable Pool is designed to facilitate related exchanges between vToken and Token that are expected to have similar values, such as vDOT-DOT, vETH-ETH, vKSM-KSM, etc. The Bifrost Stable Pool uses Stable Math (based on StableSwap, widely promoted by Curve), which allows for large-scale exchanges to take place before encountering significant price impact, greatly improving the capital efficiency of vToken-Token exchanges.

Why Bifrost Stable Swap is unique?

As vToken is a yield-bearing token, its value will gradually increase over time compared to the corresponding Token value. Therefore, the liquidity supply anchor of vToken and Token in AMM should change with the vToken exchange rate to avoid loss for liquidity providers. The following is a comparison between pegged stable swap and collated stable swap.

  • Pegged Stable Swap

Tokens that swap near 1:1, such as two stablecoins of the same currency

  • Correllated stable swap

Tokens that swap near 1: R with some slowly changing exchange rate R, like vToken (eg: vDOT, DOT)

Liquidity Efficiency Statement

In Stableswap, the size of function A determines the range of stable exchange rates supported in the Stable Curve. The larger the A value, the more liquidity is available to support constant prices. Conversely, the smaller the A value, the less liquidity is available to support constant prices. For mathematical details about the A value, please refer to Invariant.

To facilitate user understanding, we express the value of A in Stable Swap as an improvement in liquidity efficiency compared to Uniswap V2.

As shown in the above figure, 100 times liquidity efficiency means:

"Exchanging 100 BNC in the stable pool with the same liquidity is equivalent to exchanging 1 BNC in the Uniswap V2 pool."


Let's take an example. Suppose a liquidity pool has the following liquidity (assuming the exchange rate between vDOT and DOT is 1:1):

vDOT501.1872

DOT

501.1872

When a user exchanges 100 vDOT for DOT, the following results will be presented:

Uniswap V2

Input100 vDOT

Output

90.8539 DOT

Swapped Price

0.90854

Slippage

9.146%

Bifrost Stable Pool (with A coefficient 5,000)

Input100 vDOT

Output

99.9958 DOT

Swapped Price

0.99996

Slippage

0.004%

Conclusion

Input100 vDOT

Output

90.8539 DOT β‡’ 99.9958 DOT

Swapped Price

0.90854 β‡’ 0.99996

Slippage

9.146% β‡’ 0.004%

Invariant

Since the Stable Math equation is quite complex, determining the invariant, D is typically done iteratively. For an example of how to do this, please refer to: https://miguelmota.com/blog/understanding-stableswap-curve/

This invariant has the following properties:

  • When the token prices are closed to equilibrium(1 to 1), it’s performing close to a constant sum curve;

  • When the token prices are shifted away from the equilibrium, it’s performing close to a constant product curve.

  • The further the token prices are shifted away, the more slippage the invariant produces. This ensures that the pool can always provide liquidity even at extreme prices.

How to Swap

Basic Swap

  1. Enter bifrost.app and click "Swap" on the left main navigation menu to enter the swap page

  2. Switch the token to the desired token through the token dropdown menu on the token name

  1. Enter the number of tokens that need to be swapped, and verify the output of the transaction (price impact).

  2. Click the "Swap" button to confirm the transaction and complete the signature

Last updated