V4 DEX Remove Liquidity logo

Catalog action EVM Onchain wallet Gas send

Remove liquidity from Uniswap V4 position NFTs. Supports partial removal (1-100%), full removal with NFT burning, and native ETH withdrawal. Specify position by token ID. Ideal for: exiting V4 positions, partial withdrawals, closing positions, native ETH retrieval.

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 IDv4-remove-liquidity
CategoryEVM Onchain
Connectorwallet
Requires gasYes
Funds movementsend
Tagsblockchain, evm, dex, liquidity, lp, amm, defi, v4, 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 currency0 to receive. If not provided, calculated from slippage.
amount1MinstringNoMinimum amount of currency1 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
burnNftbooleanNoWhether to burn the NFT after removing all liquidity. Default: false. Only works when removing 100% liquidity.
positionManagerAddressstringNoOptional custom PositionManager address. If not provided, uses default for the chain.

Result Schema

FieldTypeRequiredDescription
statusstringYes-
transactionHashstringYesThe transaction hash
tokenIdstringNoNFT position token ID
liquidityRemovedstringNoAmount of liquidity removed
burnedbooleanNoWhether the NFT was burned

Examples

json
{ "type": "v4-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