# Private Liquidity Provisioning

{% hint style="info" %}
[Uniswap v2 style pools](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/pools) require equal value amounts of the underlying assets. Users deposit assets and receive Liquidity Pool (LP) tokens redeemable for the assets.
{% endhint %}

### Prerequisites

* You have a [created](https://help.railway.xyz/setup/create-wallet) or [imported](https://help.railway.xyz/setup/import-wallet) a wallet into Railway
* [Shielded](https://help.railway.xyz/transactions/shield-unshield) some assets into your 0zk balance

### Add Liquidity Instructions

#### 1. Click 'dApps' and select 'Liquidity'

<figure><img src="https://3741015441-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqFRXmTLdvAfIvul1HRIh%2Fuploads%2FIwMZQxOptXjvnRdSLZJc%2FScreenshot_1.png?alt=media&#x26;token=46cbafca-50bb-467c-a22a-a81d99db1c78" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**Tip**: You can also farm LP tokens in the [Railway Farm](https://help.railway.xyz/integrated-dapps/private-yield-farming). Click 'Farm' and then a vault provider to see a list of farmable assets. Once you've selected a compatible vault you can then return to the 'Liquidity' tab to enter an LP.&#x20;
{% endhint %}

#### 2. Select the Liquidity Pool you want to provide liquidity to

{% hint style="info" %}
You will need to [shield](https://help.railway.xyz/transactions/shield-unshield) equal proportions of the 2 underlying tokens to enter into LPs.&#x20;
{% endhint %}

If you want to see a full list of liquidity sources, these buttons will take you to the exchange's full list of available liquidity pools

#### 3. Enter your desired token amount. Pools can only be entered from the token on the left. For example, on the 'WETH-DAI' pool, you would have to set the amount using WETH and not DAI.

<figure><img src="https://3741015441-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqFRXmTLdvAfIvul1HRIh%2Fuploads%2FwKNTlTGuSOceaghUBhS5%2FScreenshot_2.png?alt=media&#x26;token=c2c866ca-3841-4d56-86a5-de4fec0f825a" alt=""><figcaption></figcaption></figure>

#### 4. Click 'Confirm Amount' to proceed. You can also change slippage by clicking the Settings.

<figure><img src="https://3741015441-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqFRXmTLdvAfIvul1HRIh%2Fuploads%2FFHxogahWQxQyZHgwrARO%2FScreenshot_4.png?alt=media&#x26;token=1b5659f7-08e6-4712-b6fb-a8b3751bddfd" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3741015441-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqFRXmTLdvAfIvul1HRIh%2Fuploads%2FetX3IbdRAEplvK0GzBza%2FScreenshot_3.png?alt=media&#x26;token=0dc4a2a8-3cec-431d-90d9-5ff3385954a3" alt=""><figcaption></figcaption></figure>

#### 5. Add the resulting LP token to your wallet to view it in your asset list. You will also see the outcome of the liquidity provisioning.

<figure><img src="https://3741015441-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqFRXmTLdvAfIvul1HRIh%2Fuploads%2FlnutPpzuTYF5AcMFJcon%2FScreenshot_5.png?alt=media&#x26;token=9a51856c-3014-484b-bfd4-72c6bb520af2" alt=""><figcaption></figcaption></figure>

#### 6. Check the LP amounts again closely and click 'Next' to proceed

<figure><img src="https://3741015441-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqFRXmTLdvAfIvul1HRIh%2Fuploads%2FYEi4CJ9XmTNjF244rPLC%2FScreenshot_6.png?alt=media&#x26;token=b543135e-f38e-4db1-a1e6-db9b824f1f36" alt=""><figcaption></figcaption></figure>

#### 7. Review the transaction details closely including the RAILGUN protocol fee and click 'Generate Proof' to continue

<figure><img src="https://3741015441-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqFRXmTLdvAfIvul1HRIh%2Fuploads%2FGEKb4oYlG7BzbZBYCvn5%2FScreenshot_7.png?alt=media&#x26;token=0c36c1a9-9b15-465d-b68c-950386e8796e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3741015441-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqFRXmTLdvAfIvul1HRIh%2Fuploads%2F0zphc61MytgmaDR8Kq1D%2FScreenshot_8.png?alt=media&#x26;token=82cff8e8-58d4-4f51-8b9b-1f2e44489198" alt=""><figcaption></figcaption></figure>

#### 8. Once the transaction is complete, you will see the resulting LP tokens in your balance and transaction details are visible in the 'Activity' tab

<figure><img src="https://3741015441-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqFRXmTLdvAfIvul1HRIh%2Fuploads%2FailRx2sM17FaOVGASpfs%2FScreenshot_9.png?alt=media&#x26;token=ec281b5b-3041-4570-b64e-c5ac07201b07" alt=""><figcaption></figcaption></figure>

### Remove Liquidity

#### 1. On the 'Liquidity' tab, select 'Remove Liquidity' from the dropdown menu

#### 2. Select the LP token you would like to remove liquidity from

#### 3. Enter in the amount of LP tokens you would like to remove and click 'Confirm amount'. You can also change slippage by clicking the cog.

#### 4. Click 'Next'

#### 5. Review transaction details closely including RAILGUN protocol fee and click 'Generate proof' to continue

#### 7. The remove liquidity transaction details will be visible in the 'Activity' tab
