Skip to main content

V3 Position Manager

The NonfungiblePositionManager manages V3 liquidity positions as ERC-721 NFTs. Each position represents a unique combination of pool, price range, and liquidity amount.

Key Functions

mint

Creates a new liquidity position and mints an NFT.

increaseLiquidity

Adds more liquidity to an existing position.

decreaseLiquidity

Removes liquidity from a position. Tokens are held by the contract until collect() is called.

collect

Collects tokens owed to a position (from decreased liquidity and/or earned fees).
Set amount0Max and amount1Max to type(uint128).max to collect everything owed.

positions

Queries the full state of a position by its token ID.

burn

Burns an empty position NFT (after all liquidity is removed and fees collected).

ABI

Token Approval

Before minting or increasing liquidity, approve both tokens to the Position Manager:
For positions involving native KAS, send KAS as msg.value instead of approving WKAS.

Multicall

The Position Manager supports multicall() to batch multiple operations in a single transaction:
Common use case: decrease liquidity + collect in one transaction.