SpiritSwap
  • This Docs page is now redundant.
  • Getting Started
  • Roadmap
  • Resources
  • Contracts
  • Marketing Material
  • Educational Infographics
  • Features
  • Swap
  • Liquidity
  • Farm
  • inSPIRIT
  • winSPIRIT
  • Tokenomics
    • Overview
    • $SPIRIT Distribution
    • Emissions
    • Fees
    • Risks
  • How To
    • Pull SpiritSwap data feeds using Covalent API
    • Connect MetaMask
    • inSPIRIT
      • 1) Generate inSPIRIT
      • 2) Vote for boosted farms
      • 3) Yield Farm in boosted farms
    • Get winSPIRIT
      • Get ginSPIRIT
      • Get linSPIRIT
    • Swap Tokens
    • Add Liquidity
    • Yield Farm in Farms
    • Stake SPIRIT
    • Zap
    • Bridge from BSC, Ethereum, Polygon, Avalanche or Arbitrum
    • Get FTM (Coinbase Route)
    • How to place a limit order
    • How to use Migrate
    • How to bond SPIRIT/FTM LPs
    • How to vote on gauges and receive bribes.
Powered by GitBook
On this page

Was this helpful?

Liquidity

PreviousSwapNextFarm

Last updated 4 years ago

Was this helpful?

SpiritSwap offers users a simple way to provide liquidity for tokens on Fantom via automated liquidity pools (LPs). To become a liquidity provider on SpiritSwap, a user must deposit equal values of two tokens. In return, they receive SPIRIT-LP tokens (SpiritSwap Liquidity Pool tokens). SPIRIT-LP tokens represent a proportional share of the given LP and liquidity providers may claim their underlying tokens anytime. Liquidity providers receive a 0.25% fee for every swap that is made in their pair. The 0.25% fee is directly added back to the LP, increasing the value of SPIRIT-LP tokens. Liquidity providers can also participate in yield farming with supported LPs.

Anyone can make a LP on SpiritSwap, with any two tokens (on Fantom) of their choice. When an LP is created, the creator sets the price of the tokens. The amount of SPIRIT-LP (SSLP) shares minted are based on the equation:

SSLP=sqrt(x∗y)SSLP = sqrt(x*y)SSLP=sqrt(x∗y)

Where x = number of $AAA tokens and y = number of $BBB tokens. Figure 1 shows a diagram of a liquidity provider creating a new liquidity pool with tokens $AAA and $BBB.

Swap fees are directly accumulated in the LP. For each swap a 0.3% fee is charged to the trader in the token they are selling. This is added to the LP and slightly increases the LP's k value with every swap. 5/6 of the 0.3% fee goes to the liquidity providers and 1/6 of the 0.3% swap fee goes to the protocol fee vault. The protocol fee vault only receives their fees (in the form of SPIRIT-LP tokens) when a liquidity provider enters or exits the LP. After sometime, swaps are made in the $AAA/$BBB LP, increasing the LP's k value. The change in k and number of outstanding shares can be used to calculate the number of SPIRIT-LP tokens that get minted into the protocol fee vault. The number of SSLP tokens to minted for the protocol fee vault can be calculated by the equation:

Where s is the number of outstanding SSLP tokens, k2 is the current k value of the LP, and k1 is the k value of the LP at the last deposit/withdraw from the LP. Figure 2 shows a diagram of a liquidity provider depositing $AAA and $BBB tokens to the LP from Figure 1, after a swap has been made.

In Figure 2, a new liquidity provider deposits funds to the $AAA/$BBB SPIRIT-LP. The liquidity provider-must deposit $AAA and $BBB tokens in the same proportion as the LP reserve. In the example above, the liquidity provider must deposit 0.00827 $BBB tokens for every 1 $AAA token they wish to deposit. The LP first mints SPIRIT-LP tokens to the protocol fee vault, then calculates the number of SPIRIT-LP tokens minted to the new liquidity provider with the equation:

Where x,deposited is equal to the number of $AAA tokens deposited by the new liquidity provider, s is the number of outstanding SPIRIT-LP shares (including the newly minted shares for the protocol fee vault), and x is the number of $AAA tokens in the LP.

SSLP=s∗(sqrt(k2)−sqrt(k1))/(5∗sqrt(k2)+sqrt(k1))SSLP = s*(sqrt(k2)-sqrt(k1))/(5*sqrt(k2)+sqrt(k1))SSLP=s∗(sqrt(k2)−sqrt(k1))/(5∗sqrt(k2)+sqrt(k1))
SSLP=x,deposited∗s/xSSLP=x,deposited*s/xSSLP=x,deposited∗s/x
Figure 1. Creating a new LP on SpiritSwap.
Figure 2. Adding liquidity to a SpiritSwap LP.