Providing Liquidity

This guide covers creating and managing liquidity positions on VinuSwap.

Overview

VinuSwap uses concentrated liquidity, where LPs provide liquidity within specific price ranges represented as NFTs.

Prerequisites

const { ethers } = require('ethers');

const POSITION_MANAGER = '0xF699ec0764741f66F81068665eFFAeefA3c6037a';
const WVC = '0xEd8c5530a0A086a12f57275728128a60DFf04230';   // Wrapped VC (native token)
const USDT = '0xC0264277fcCa5FCfabd41a8bC01c1FcAF8383E41';  // USDT on VinuChain

const positionManager = new ethers.Contract(
    POSITION_MANAGER,
    positionManagerABI,
    signer
);

Creating Positions

Choose Your Price Range

Convert prices to ticks:

Mint Position

Create Position with VC

Managing Positions

View Position Details

Increase Liquidity

Decrease Liquidity

Collecting Fees

Collect Accumulated Fees

Collect to VC

If your position includes WVC and you want VC:

Closing Positions

Full Withdrawal and Burn

Using Multicall

Position Value Calculation

Calculate Token Amounts

Calculate Uncollected Fees

Range Strategies

Full Range Position

Narrow Range Position

Error Handling

Next Steps

Last updated