Get Started
Liquidity Provisioning
Introduction to the Liquidity Provisioning Workflow
High Level Message Flow
The following diagram illustrates how a customer starting with no liquidity position can create and manage a liquidity position. Steps in gray are taken through the Uniswap Labs API and steps in red are written to the blockchain by the customer.
- The customer checks if they have the necessary approval to send token(s) to the desired pool using an
/approve
request.- If the approval is not yet in place, a fully-formed transaction is returned for the customer to sign for each un-approved token.
- The customer then proposes the position they would like to create using the
/create
request.- The API checks if the pool already exists. If the pool does not exist, the response returns a fully-formed transaction to create the pool which the user must sign.
- The API also returns the fully-formed transaction to create a position (e.g. add liquidity to a pool), which the user must sign.
- Over time the customer may want to perform additional actions to manage their liquidity pool (LP) positions:
- Commonly, liquidity providers will want to claim their earned fees from the pool using the
/claim
request. - Customers may want to change the allocation of tokens they have made to a pool. Customers can add additional tokens to a pool using the
/increase
request and can reduce or fully withdraw their position using the/decrease
endpoint. - Uniswap Labs continues to innovate on pool contracts, customers may want to migrate their positions from one version of a pool to another version. the
/migrate
endpoint allows a customer to move their liquidity from a V3 pool to a V4 pool (remaining within the same pair, for example WBTC/USDC). - Certain pools may offer the opportunity to receive rewards for LPing. These rewards can be claimed using the
/claim_rewards
endpoint.
- Commonly, liquidity providers will want to claim their earned fees from the pool using the