Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.meteora.ag/llms.txt

Use this file to discover all available pages before exploring further.

Every DAMM v2 LP position is represented by a unique position NFT. The NFT is the ownership handle for the liquidity position: whoever holds the position NFT controls the position. This turns liquidity into a portable on-chain asset. A position can be transferred between wallets, separated into multiple positions, tracked by marketplaces or dashboards, and composed by other protocols.

What a Position Represents

A DAMM v2 position tracks the liquidity and rewards tied to one position NFT.

Liquidity Ownership

The position records how much liquidity belongs to the NFT holder.

Pending Fees

Trading fees accrue to the position until the owner claims them.

Liquidity Mining Rewards

Built-in reward campaigns accrue to each position based on total liquidity.

Locks and Vesting

A position can contain unlocked, vesting, and permanently locked liquidity.

Liquidity Buckets

DAMM v2 positions separate liquidity into three buckets:
BucketProduct Meaning
Unlocked liquidityLiquidity that can be withdrawn by the position owner
Vesting liquidityLiquidity that unlocks over time according to a schedule
Permanently locked liquidityLiquidity that cannot be withdrawn, but still supports the pool
Locked liquidity still earns. DAMM v2 uses total position liquidity when tracking trading fees and liquidity mining rewards, so vesting and permanently locked liquidity can continue participating while withdrawal is restricted.

Position NFTs

Position NFTs are Token 2022 NFTs created by the DAMM v2 program. They are minted with zero decimals and supply 1, use Token 2022 metadata, and are tied to a DAMM v2 position account. For product users, the important behavior is simple:
  • Holding the NFT gives control over the position.
  • Transferring the NFT transfers control of the position.
  • The NFT makes the position discoverable and composable.
DAMM v2 uses the pool as the freeze authority for position NFTs and the pool authority as mint/update authority. The default metadata name is Meteora Position NFT with symbol MPN.

Fees and Rewards

Position fees are separate from liquidity removal. A position can hold pending token A fees, pending token B fees, and pending rewards from up to two liquidity mining reward slots. The exact fee tokens depend on the pool’s collect fee mode:
ModeWhat LPs Claim
BothTokenFees can accrue in both token A and token B
OnlyBFees accrue in token B
CompoundingFees accrue in token B, with a configurable share automatically reinvested into pool reserves

Splitting Positions

DAMM v2 positions can be split. This lets one position become two positions while dividing unlocked liquidity, permanent locked liquidity, pending token A fees, pending token B fees, pending rewards, and supported inner vesting state. Split numerators use a denominator of 1,000,000,000. Each split amount is rounded down, so tiny residual amounts can remain in the source position. This is useful when you want to:
  • Transfer only part of a position.
  • Separate treasury, market maker, or community allocations.
  • Split vesting tranches before distributing position ownership.
  • Sell or custody part of an LP position without exiting the rest.

Liquidity Locks

DAMM v2 supports two lock styles:
  • Vesting lock: liquidity unlocks on a schedule, such as a cliff followed by periodic releases.
  • Permanent lock: liquidity cannot be withdrawn, creating a durable liquidity commitment.
This gives token teams a way to show long-term alignment while keeping fee and reward participation active.
Inner vesting stores the vesting schedule inside the position itself. A position must not already have active inner vesting when a new inner vesting lock is applied.

Closing a Position

A position can only be closed after it is empty. That means total liquidity is zero, pending token A and token B fees are zero, and pending rewards in both reward slots are zero. When a position is closed, the program burns the position NFT, closes the NFT token account, closes the NFT mint, and closes the position account.

Why NFT Positions Matter

NFT positions make DAMM v2 liquidity easier to reason about as a product:
  • LP ownership is represented by a familiar token object.
  • Transfers are simple because ownership follows the NFT.
  • Positions can contain complex state without making the user manage separate farm or lock accounts.
  • Integrators can build dashboards, custody flows, marketplaces, and collateral products around the NFT.