Providing Liquidity
Information about adding liquidity to Ruby's StableSwap and XY=K pools, and about LP tokens.
Users who provide liquidity earn proportional shares of trading fees in their respective pools.
Traders are charged a default commission fee of 0.3% on every swap that uses one of Ruby's XY=K pools, and 0.04% for every StableSwap trade. These fees are divided between Liquidity Providers (LPs) for those pools, and the RubyMaker contract, which distributes a percentage of fees to RUBY holders who have staked their tokens. LP rewards are locked for three months. LPs who want to access their earnings before the end of this vesting period can do so by paying a 50% penalty fee.
RUBY Stakers can opt to receive their rewards immediately, with no restrictions. Alternatively, they can lock their RUBY for three months and receive a higher rate of rewards, paid for by the 50% early-exit penalty fees for LPs.

How to LP On Ruby.Exchange

There are two options for adding liquidity to Ruby's pools: XY=K pools, which pair a crypto token (RUBY, SKL, ETH, BTC, etc) against USDP, or Ruby's StableSwap 4Pool (USDP, USDC, USDT, DAI).

Adding Liquidity To XY=K Pools

Select Liquidity -> Pool from the main menu, and click Add Liquidity.
Select the token for which you want to provide liquidity, and the amount. The corresponding amount of USDP will be filled in automatically.
All XY=K pools use USDP as their base pair by default. You can swap USDT, USDC, or DAI for USDP using the StableSwap 4Pool, with very low slippage.
Click Confirm Adding Liquidity, and confirm the transaction with MetaMask. You will receive liquidity provider (LP) tokens corresponding to your share of the pool.
So long as your LP tokens are not staked in Ruby's farming contract, you can redeem them at any time. (Remember that when you remove liquidity, you will receive back your share of the pool, not the exact number of each token you deposited.)
Liquidity providers receive transaction fees totaling 0.25% of every trade placed on Ruby.Exchange. To earn additional yield farming rewards, users will need to stake your LP tokens in the farming contract.

Adding Liquidity To The StableSwap 4Pool

Providing liquidity to the StableSwap 4Pool is a similar process, with the difference that users can deposit one, two, three, or all four stablecoins to the pool. Start by selecting Stable Pool from the Liquidity menu.
If the pool is underbalanced for any given currency, it is advantageous for users to deposit that token, so they can benefit from positive slippage (essentially buying the overweight tokens at a discount).
Enter the amount(s) you want to provide and click Deposit.
Click Confirm Deposit. This will require two MetaMask confirmations (Approval then Deposit).
As before, you will now hold StableSwap LP tokens that represent your share of the 4Pool. When you redeem these, you can opt to receive your share as a single stablecoin, or a combination of all four.

A Note About LP Token Issuance And Redemption

When you deposit liquidity in one of Ruby's pools (in this example, RUBY and USDP), you receive LP tokens as a receipt for the deposit.
LP tokens represent a share of the pool, not a specific number of each token. When you redeem your LP tokens by withdrawing liquidity from the pool, you will likely receive back a different number of RUBY and USDP. This is because as users trade against the tokens in the pool, the ratio of RUBY:USDP changes. (The price of RUBY in USDP is simply this ratio. If the pool contains 1 million RUBY and 2 million USDP, then the ratio is 1:2 RUBY:USDP, or $0.50/RUBY.)
Just like any other token, LP tokens can be transferred to other accounts. Because they are a receipt for funds held in the pool, LP tokens have value of their own. When you redeem LP tokens for their underlying share of the pool, the LP tokens are "burned" (destroyed) to prevent them being redeemed multiple times.