🦄

# vAMM

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)$

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:$SSLP = s*(sqrt(k2)-sqrt(k1))/(5*sqrt(k2)+sqrt(k1))$

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:

$SSLP=x,deposited*s/x$

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.Last modified 11mo ago