V3 DEX Remove Liquidity logo

Catalog action EVM Onchain wallet Gas send

Remove liquidity from Uniswap V3 position NFTs with optional fee collection. Supports partial removal (1-100%), fee claiming, WETH unwrapping, and NFT burning. Specify position by token ID. Ideal for: exiting V3 positions, collecting earned fees, rebalancing ranges, closing positions.

This action can require a wallet connector, gas, token movement, or an external side effect. Test with simulation or a controlled amount before using it in a live workflow.

At a Glance

FieldValue
Action IDv3-remove-liquidity
CategoryEVM Onchain
Connectorwallet
Requires gasYes
Funds movementsend
Tagsblockchain, evm, dex, liquidity, lp, amm, defi, v3, uniswap, nft, withdraw

Payload Schema

FieldTypeRequiredDescription
chainIdnumberYesChain
tokenIdstringYesThe NFT position token ID to remove liquidity from
liquidityPercentagenumberNoPercentage of liquidity to remove (1-100). Default: 100 (remove all)
amount0MinstringNoMinimum amount of token0 to receive. If not provided, calculated from slippage.
amount1MinstringNoMinimum amount of token1 to receive. If not provided, calculated from slippage.
slippageBpsnumberNoSlippage tolerance in basis points (100 = 1%). Default: 50 (0.5%). Used when amount0Min/amount1Min not provided.
deadlineMinutesnumberNoTransaction deadline in minutes from now. Default: 20
collectFeesbooleanNoWhether to collect accumulated fees along with liquidity. Default: true
burnNftbooleanNoWhether to burn the NFT after removing all liquidity. Default: false. Only works when removing 100% liquidity.
unwrapWethbooleanNoWhether to unwrap WETH to native ETH when withdrawing. Default: true
positionManagerAddressstringNoOptional custom NonfungiblePositionManager address. If not provided, uses default for the chain.

Result Schema

FieldTypeRequiredDescription
statusstringYes-
transactionHashstringYesThe transaction hash
tokenIdstringNoNFT position token ID
liquidityRemovedstringNoAmount of liquidity removed
amount0stringNoAmount of token0 received (including fees if collected)
amount1stringNoAmount of token1 received (including fees if collected)
feesCollected0stringNoAmount of token0 fees collected
feesCollected1stringNoAmount of token1 fees collected
burnedbooleanNoWhether the NFT was burned

Examples

json
{ "type": "v3-remove-liquidity", "payload": { "tokenId": "1", "chainId": 8453 }, "children": [], "connector": { "type": "wallet", "id": "conn_wallet" }}

Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.

Ask a question... ⌘I