V4 DEX Add Liquidity logo

Catalog action EVM Onchain wallet Gas send

Add concentrated liquidity to Uniswap V4 pools by minting a position NFT. Supports native ETH (no WETH wrapping), custom price ranges, and hook contracts. Uses Permit2 for approvals. Returns position NFT token ID. Ideal for: V4 liquidity provision, native ETH pools, hook-enabled pools, advanced LP strategies.

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-add-liquidity
CategoryEVM Onchain
Connectorwallet
Requires gasYes
Funds movementsend
Tagsblockchain, evm, dex, liquidity, lp, amm, defi, v4, uniswap, nft

Payload Schema

FieldTypeRequiredDescription
chainIdnumberYesChain
currency0stringYesFirst currency address. Use 0x0000000000000000000000000000000000000000 for native ETH. Will be sorted with currency1 to determine actual order.
amount0DesiredstringNoDesired amount of currency0 to add (in wei/smallest unit). At least one of amount0Desired or amount1Desired must be provided.
currency1stringYesSecond currency address. Use 0x0000000000000000000000000000000000000000 for native ETH. Will be sorted with currency0 to determine actual order.
amount1DesiredstringNoDesired amount of currency1 to add (in wei/smallest unit). At least one of amount0Desired or amount1Desired must be provided.
feenumberYesPool fee tier in hundredths of a bip. Valid values: 100 (0.01%), 500 (0.05%), 3000 (0.3%), 10000 (1%)
tickSpacingnumberNoTick spacing for the pool. If not provided, uses default for the fee tier.
hooksstringNoHook contract address. Default: 0x0000000000000000000000000000000000000000 (no hooks / vanilla pool)
tickLowernumberNoLower tick of the position. If not provided, uses full range. Must be a multiple of tick spacing.
tickUppernumberNoUpper tick of the position. If not provided, uses full range. Must be a multiple of tick spacing.
slippageBpsnumberNoSlippage tolerance in basis points (100 = 1%). Default: 50 (0.5%)
deadlineMinutesnumberNoTransaction deadline in minutes from now. Default: 20
positionManagerAddressstringNoOptional custom PositionManager address. If not provided, uses default for the chain.

Result Schema

FieldTypeRequiredDescription
statusstringYes-
transactionHashstringYesThe transaction hash
tokenIdstringNoNFT position token ID
liquiditystringNoAmount of liquidity minted
tickLowernumberNoLower tick of the position
tickUppernumberNoUpper tick of the position

Examples

json
{ "type": "v4-add-liquidity", "payload": { "currency0": "example-currency0", "currency1": "example-currency1", "fee": 100, "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