Unipilot Vaults
The vaults are used to manage the liquidity positions of users.
For each pair, e.g. (ETH/USDT) a new vault has to be deployed.
When creating a new vault, the Pilot protocol will interact with Uniswap v3 and create a new NFT for that vault. This process has to be done once just like creating a new pool on Uniswap v3. Once the vault is deployed and NFT is created, new users will just join that vault. The NFT will contain the cumulative liquidity of that vault.
There were two approaches to creating a vault both with their pros and cons.
  1. 1.
    The first one was to use a factory pattern and deploy a separate contract for each vault, although this is a clean approach this requires paying a huge amount of gas fees when creating a vault, this could be a barrier to new users joining the pilot protocol.
  2. 2.
    The second approach was that instead of deploying a contract each time when a new vault is created, we will manage this in a single contract. Essentially all of the vaults are managed within one contract with users just paying storage fees when creating a new vault.
While we were leaning towards the first with its clean approach, we believe this could serve as a barrier for users to deploy new vaults due to the considerable gas fee associated with it.
Since we position Pilot protocol as a universal automated liquidity optimization protocol, we want this to be as affordable as possible. The Pilot protocol uses the second approach where any user can deploy vaults for any pair with minimal gas fees.
Copy link