LP Tokens

LP Tokens are given to Liquidity Providers when they add liquidity to mAsset-UST or MIR-UST Terraswap pools. Each pool has a unique LP token associated with it and cannot be combined with LP tokens from other pools. They serve primarily as a unit of account, representing the liquidity provider's share in the pool in order to reclaim assets when they remove liquidity.

Although LP tokens exist independently as a yield-generation feature of Terraswap, they are central to Mirror's market infrastructure. As such, the protocol provides MIR rewards to users who stake LP tokens as an incentive to help maintain liquid markets on Terraswap for mAssets and MIR.

LP Token Supply

There exists a different LP token for each mAsset-UST's Terraswap pool, as well as the MIR-UST pool. The descriptions below refer to each individual pool's supply of LP tokens.

Minting

A user can provide liquidity by depositing tokens to both sides of a Mirror-related Terraswap pool. This results in the creation of LP tokens for that pool, which they can use to retrieve assets from the pool.

Creating a new pool

For a new pool with starting quantities of UST and mAsset / MIR x0,y0x_0,y_0, the number of LP tokens is:

LP=x0y0\text{LP} = \sqrt{x_0 y_0}

Adding to an existing pool

Given quantities of UST and mAsset/MIR being depositedAin,BinA_{\text{in}},B_{\text{in}}, and currently in the pool prior to depositX,YX,Y, and the current supply of LP tokens LPtotal\text{LP}_{\text{total}}, the amount of newly minted LP tokens is:

LPnew=min(AinXLPtotal,BinYLPtotal)\text{LP}_{\text{new}} = \min\bigg(\frac{A_{\text{in}}}{X}\text{LP}_{\text{total}}, \frac{B_{\text{in}}}{Y}\text{LP}_{\text{total}}\bigg)

Although liquidity providers can deposit any amount for both tokens, they are incentivized to put in quantities where value is equal on both sides, taking into consideration the mAsset or MIR's market price. Doing otherwise would cause them to incur losses as it would create arbitrage opportunities against the pool, and the LP tokens they received would be insufficient for recover their liquidity.

Burning

It is very probable that the amounts of assets recovered by burning LP tokens will be different than the quantities deposited. This comes from a variety of reasons such as price movement of mAsset / MIR, changes in your relative share of the liquidity pool, etc.

A user can burn their LP tokens to recover their deposited liquidity. The pool will send back amounts of UST and mAssets (or MIR), depending on the amount of LP tokens they burn, determined by the formulas shown below.

Aout=LPburnLPtotalXA_{\text{out}} = \frac{\text{LP}_{\text{burn}}}{\text{LP}_{\text{total}}}X
Bout=LPburnLPtotalYB_{\text{out}} = \frac{\text{LP}_{\text{burn}}}{\text{LP}_{\text{total}}}Y

LP Commission Rewards

Holders of LP tokens receive a portion of rewards generated by the pool's trading fees, divvied out in proportion to total share of LP token pool. A portion of either mAsset/MIR or UST (depending on the direction of the trade) gets added back into the pool as the LP Commission.

This functionality is not implemented in the Mirror Protocol contracts, and comes purely due to Terraswap's incentive structure for liquidity providers. Because the trading fee rewards are returned to the pool, they can only be withdrawn by burning LP tokens and withdrawing liquidity.

Staking Rewards

This section discusses staking rewards for LP tokens, which come from the new MIR tokens minted per block by the protocol as inflation. Staking MIR also generates MIR rewards, which come from trading fees rather than inflation. Learn more about it here.

Mirror allows users to additionally profit from LP tokens by staking them to receive Mirror Token (MIR) rewards. The LP tokens can be unstaked at any time, and then burned to retrieve the corresponding deposited liquidity and LP Commission rewards.

At each block, the protocol introduces into circulation an amount of MIR tokens (which had been locked by the protocol), by distributing them across all stakers of LP tokens in proportion to their total weighted stake.

Mirror Protocol rewards stakers of LP tokens for each of the mAsset-UST pools as well as the MIR-UST pool. All mAsset-UST staking pools receive a weight of 1, while the MIR-UST pool receives a weight of 3. Therefore, there is a stronger reward incentive to stake MIR-UST LP tokens as they confer 3 times the reward when staked relative to mAssets.

The block reward, RmkR_{m_{k}} for a specific staking pool corresponding to asset mkm_{k}with weight wkw_{k}and quantityIIof MIR introduced into circulation per block, is given by:

Rmk=wmkiwmiIR_{m_{k}} =\frac{w_{m_{k}}}{\sum_{i} w_{m_{i}}}I

A user will receive the portion of rewards for their pool equivalent to their proportional share of staked assets for that pool. This is applied for each pool to which the user has staked LP tokens.