Uniswap Pool Lookup logo

Catalog action EVM Onchain

Discover Uniswap V3 and V4 pools for a token pair on a chain, ranked by USD TVL when known (falling back to in-range liquidity L when TVL is unknown). Returns each pool's address/poolId, fee tier, tick spacing, and (for V4) a hash-verified PoolKey ready for v4-add-liquidity. Also returns a top-level tokens block with each currency's on-chain decimals + symbol (token0/token1, sorted) so an LP consumer can size raw amounts without a separate decimals lookup. Ideal for: resolving which V4 fee tier or V3 pool to use before adding liquidity.

At a Glance

FieldValue
Action IDpool-lookup
CategoryEVM Onchain
ConnectorNot required
Requires gasNo
Funds movementNone declared
Tagsblockchain, evm, dex, pool, liquidity, read

Payload Schema

FieldTypeRequiredDescription
chainIdnumberYesChain
tokenAstringYesFirst token of the pair. Order does not matter; currencies are sorted internally.
tokenBstringYesSecond token of the pair.
versionsarrayNoWhich Uniswap versions to search. Default: both.
limitnumberNoMax pools to return. Default: 10.
includeEmptybooleanNoInclude pools with zero in-range liquidity. Default: true — a pool with no in-range liquidity is still a valid (often the best) liquidity-add target, since you'd be the first LP in range. Callers doing swap-routing, where an empty pool is unusable, should pass false.

Result Schema

FieldTypeRequiredDescription
poolsarrayYesPools ranked by USD TVL when known, falling back to in-range liquidity L, descending.
bestobject | nullNoThe deepest pool, or null when none were found.
tokensobjectYesThe pair's two currencies in sorted (token0/token1) order — the same order as a V4 poolKey's currency0/currency1 — each with on-chain decimals + symbol so an LP consumer can size raw amounts without a separate decimals lookup. Populated even when 'pools' is empty.
degradedbooleanYesTrue when coverage may be incomplete.
degradedReasonstring | nullNo-

Examples

json
{ "type": "pool-lookup", "payload": { "chainId": 4663, "tokenA": "0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC", "tokenB": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168" }, "children": []}

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.