Sifchain Technical Introduction: Advantages of an Asymmetric Liquidity Pool
Hello Sifchain Community,
As our tech team is working hard on building world’s first omni-chain decentralized exchange, we recognize that it is important to educate new community members who are interested but may not have the background to understand some of our technical approaches in building Sifchain.
This blog is aimed at breaking down some key concepts for design decisions that are relevant to Sifchain. Without further ado, let’s delve into this blog’s topic: Asymmetric liquidity pools.
Decentralized exchanges and liquidity pools
In many decentralized exchanges, users can add liquidity to liquidity pools and earn a portion of the transaction fees charged to other users who want to swap tokens in the pool. The constraint that most liquidity pools put on liquidity providers is that they must put in an equal value of each token pair. For example, in the ETH/DAI liquidity pool in Uniswap, a user is required to add 2.64 ETH for every 1,000 DAI that is added at the time of this writing. And then based on the amount the user puts into the pool, they then receive a proportionate amount of the fees charged.
What if users don’t have both tokens to add to the pool?
With Sifchain, users who want to add liquidity to a pool can add any amount of either or both tokens. This is known as adding liquidity asymmetrically, which gives users ultimate flexibility. Based on the amount of tokens in the pool and the amount that the user adds, they will then own a percentage of the entire pool. Sifchain will initially use the same formula to calculate ownership as BEPSwap.
When a user only puts in one side of the pool, how is their ownership % calculated?
The formula that is used to calculate ownership % is designed to incentivize users to keep the liquidity pool balanced. As one side of the pool increases, users can gain a higher % of the overall pool by adding tokens to the other side.
Below is the formula used to calculate the units owned by a user when they add Rowan or another asset to the liquidity pool.
- r = rowan deposited
- a = asset deposited
- R = Rowan Balance (before)
- A = Asset Balance (before)
- P = Existing Pool Units
The liquidity provider is allocated a portion of the fees collected from swappers proportional to their ownership of the pool. For example, If the liquidity provider owns 2% of the pool, they are allocated 2% of the fees collected.
How does the system ensure that there’s enough liquidity in a pool, if users only have to add one token in the pool and not both?
The interesting thing about the formula above is that it creates an economic incentive for users to balance the pool. If the pool gets too oversubscribed on one side, the formula gives users an incentive to add liquidity to the other side by giving them a higher ownership % to add to the side that needs more units to balance the pool.
Here’s an example:
In this liquidity pool, Rowan is oversubscribed at 10,000 compared to Token A at only 1,000. In scenario 1, Bob adds 1,000 Rowan to the pool, which gives him ownership of 4%. In scenario 2, Bob adds 1,000 to the undersubscribed side (Token A) of the pool, which gives him ownership of 20%. By rewarding users with a higher ownership % to add liquidity to the undersubscribed side of the pool, the system creates an incentive to balance the pool.
If a user only pools one side of the pool, what are they allowed to withdraw?
With an asymmetric liquidity pool, users are allowed to pool one side or the other, and they are allowed to withdraw one side or the other. Because the system calculates the user’s overall ownership at the time they added liquidity, it can now use that ownership % to calculate the amount(s) to withdraw.
At the time of withdrawal, the user specifies the following:
By using basis points and the asymmetry value, the system gives poolers a very high level of precision in specifying exactly how much to withdraw from each side of the pool. This differs from other symmetric liquidity pools, where poolers must withdraw equal value from both sides.
We hope you were able to get some key takeaways from this post, as we believe it is important for our users to understand the tools they are using. If you have any additional questions or would like to discuss with fellow community members, join our communities below!
🌾 Telegram: https://t.me/sifchain
🌾 Twitter: https://twitter.com/sifchain
🌾 Discord: https://discord.gg/fJhux6DKYx
🌾 Website: https://www.sifchain.finance
🌾 LitePaper: https://bit.ly/SifChainLitepaper