Skip to main content

Prerequisites

Before providing liquidity, ensure you have:
  • A NEAR-compatible wallet connected (23 wallet options available)
  • Both tokens of the pair you want to provide (e.g., NEAR and USDC)
  • Small amount of NEAR for gas fees (~0.1 NEAR)
  • Understanding of concentrated liquidity and impermanent loss risks

Become a Liquidity Provider

Earn trading fees by providing liquidity to Vita pools. With concentrated liquidity, you can earn significantly higher fees compared to traditional AMMs.
New to DeFi? Providing liquidity means depositing tokens into a pool where traders can swap. You earn a portion of the trading fees (default 0.3% on all trades).

The 3-Step Process

1

Select your token pair

Choose from existing pools or create a new one
2

Set your price range

Narrow ranges earn more fees but require more management
3

Deposit tokens and mint NFT

Your position becomes an NFT you can manage, boost, or farm

Step 1: Select Your Token Pair

Browse Available Pools

Liquidity pools overview page

Navigate to the Liquidity page to see all available pools

Navigate to the Liquidity page to see all available pools with key metrics like TVL, volume, and your deposited positions.

Choosing the Right Pair

Understanding Your Options

Consider these factors:
  • Trading Volume: Higher volume = more fees
  • Volatility: Stable pairs = less impermanent loss
  • Your Holdings: Use tokens you already own
  • Correlation: Similarly moving tokens work well together
Can’t find your desired pair? Create a new pool:
  • Set initial price
  • Default 0.3% fee applies
  • Be the first LP!

Step 2: Set Your Price Range

Pool Detail View

Pool detail with price range selection

The pool detail page shows current price and liquidity distribution

The pool detail page shows current price, liquidity distribution, and preset range options to help you choose.

Understanding Fee Distribution

All pools charge a default 0.3% trading fee on every swap. The fees are distributed through protocol_fee_rate and community_fee_rate configurations. Fee distribution:
  • Liquidity providers earn the majority of fees
  • Protocol and community vaults receive configured portions
  • xVITA stakers benefit from protocol revenue

Setting Your Price Range

Full Range

MIN_TICK (-665454) to MAX_TICK (831818)
Efficiency: ~1x
Never goes out of range

Wide Range

±50% from current price
Efficiency: Higher
Good for beginners

Narrow Range

±10% from current price (RECOMMENDED)
Efficiency: Much higher
Higher returns

Step 3: Deposit Tokens

Calculate Your Deposit

Pool deposit with calculated amounts

The interface automatically calculates the optimal ratio

The ratio of tokens you need to deposit depends on:
  • Current price
  • Your selected range
  • Which token is worth more
The interface automatically calculates the optimal ratio.

Final Confirmation

1

Review Details

Double-check:
  • Token amounts
  • Price range (tick_lower and tick_upper)
  • Default 0.3% fee
  • Minimum amounts (amount0_min, amount1_min)
2

Approve Tokens

First-time only: Approve the contract to use your tokens
3

Mint Position

Confirm the transaction to mint your position NFT
4

Receive NFT

Your position is now an NFT in your wallet!

Managing Your Position

Once created, you can manage your position through the detailed interface:
Position management interface

Complete position management interface

Available Actions

Increase Liquidity

Add more tokens to earn more fees

Decrease Liquidity

Remove some or all tokens

Collect Fees

Claim earned trading fees anytime
Trading fees claim interface

Start Farming

Stake your NFT for bonus rewards with boost mechanics
Farm position interface

Boost Your Position

Boost position interface

Apply xVITA boost to maximize your farming rewards

Apply xVITA boost to maximize your farming rewards (up to 2.5x multiplier).

Monitor Rewards

Position rewards interface

Track your accumulated rewards in real-time

Track your accumulated xVITA and VITA rewards, updated every 10 minutes.

Common Strategies

Best for: New LPs, volatile markets
  • Set range ±20-50% from current price
  • Lower returns but safer
  • Requires less monitoring
  • Good for learning
Example: NEAR at $5
  • Min: $2.50 (-50%)
  • Max: $7.50 (+50%)
Best for: Stable pairs, active management
  • Set range ±1-10% from current price
  • Higher returns but riskier
  • Requires frequent adjustments
  • Maximum fee generation
Example: USDC/USDT at 1.00
  • Min: 0.995 (-0.5%)
  • Max: 1.005 (+0.5%)
Best for: Taking profits, buying dipsUse single-sided liquidity as limit orders:
  • Above market: 100% token A (sell order)
  • Below market: 100% token B (buy order)
Example: Sell NEAR at $6
  • Min: $6.00
  • Max: $6.10
  • Deposit: 100% NEAR

Risk Management

Understanding IL RiskConcentrated positions can experience higher IL:
ScenarioImpact
Price stays in rangeNormal IL + High fees
Price exits range temporarilySome IL + No fees
Price exits range permanentlyMax IL + No fees

Code Examples

The following code examples are for illustration purposes. Always verify contract addresses and test thoroughly before using in production.
// Direct contract interaction (no SDK available)
const { connect, Contract, keyStores } = require("near-api-js");

// Mint a new position
const contract = new Contract(
  account,
  "[TBD]", // Contract address TBD
  {
    changeMethods: ["mint_position"],
  }
);

// Note: VITA uses 18 decimals, not 24
await contract.mint_position({
  pool_id: "NEAR-USDC",
  tick_lower_index: -69300, // Example tick
  tick_upper_index: -46050, // Example tick
  amount0_desired: "1000000000000000000000000", // 1 NEAR (24 decimals)
  amount1_desired: "5000000", // 5 USDC (6 decimals)
  amount0_min: "990000000000000000000000", // 0.99 NEAR (1% slippage)
  amount1_min: "4950000" // 4.95 USDC (1% slippage)
});

Interactive Calculators

Calculate Your Position

Price Range Simulator

Next Steps