# Providing liquidity via Unipilot

### For those who prefer visual demonstrations, we created a video walkthrough of using Unipilot [here](https://unipilot.io/walkthrough/).

### Step​ ​1:​ Create a Vault

A user can create a Vault for a pair that doesn't already exist on Unipilot. If the vault already exists, the user can skip this step.

### Step​ ​2:​ ​Deposit liquidity into the Vault

The user initiates a transaction by choosing to deposit liquidity into the vault by providing assets e.g. ETH/USDT. First, the user approves their assets to be used by the protocol and then deposits asset. Upon doing this, the protocol calculates the user's share according to the assets ratio and quantity provided, and then mints LP tokens according to the calculated share.

### Step​ ​3:​ Rebasing the position

**Rebasing a Community vault**\
\
The user initiates the transaction when the protocol indicates that the position needs to be rebased, and the protocol selects the range.

During the rebasing, the protocol also initiates the auto compounding of the fees earned by the position back into active liquidity. Community vaults can be rebalanced by anyone when a rebalance is required.

**Rebasing an actively-managed vault**

Actively-managed vaults are created and managed by the Unipilot protocol, typically limited to the top-performing pairs on Uniswap (in terms of fee-earning potential) and the tokens of partner projects. With actively-managed vaults, the protocol rebalances the position when necessary, so users do not need to monitor their position or bear the cost of rebasing.

When a position is rebased, earned fees are also autocompounded back into active liquidity.&#x20;

### Step​ ​4:​ ​Withdraw Liquidity

Vault participants can withdraw all or some of their liquidity at any time. Before withdrawing liquidity, the protocol autocompounds earned fees . Finally, it burns the LP tokens after removing the user's liquidity.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://unipilot.gitbook.io/unipilot-v2/the-pilot-protocol/providing-liquidity-via-unipilot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
