search_liquidity_pools
Maps to GET /pools. Discovers liquidity pools across supported AMMs and chains, returning id, poolId, symbol, underlyingTokens (token addresses), fee tier, protocol, dexKind, APY, apyBase (fee-only APY excluding reward emissions), TVL (USD), 24h/7d volume (USD), stablecoin flags, and hooksAddress...
This record as markdown: /tools/defire-business-swapwizard-mcp/search-liquidity-pools.md
What search_liquidity_pools does on Swapwizard
AI agents call search_liquidity_pools to retrieve information from Swapwizard without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | — | Page number, 0-based (default: 0) |
search | string | — | Search by symbol or project name |
signal | string | — | Filter by momentum signal. Comma-separated list allowed (e.g. 'entry' or 'entry,watch'). Only effective with trending=true. Combine with sortBy=signal&sortOrder |
sortBy | string | — | Sort field (default: tvl). 'signal' (trending only) groups pools by momentum signal entry→watch→exit (sortOrder=asc reverses) and within each group by APR desce |
tokens | string | — | Comma-separated token addresses to filter pools by |
chainId | integer | Yes | EVM chain ID (e.g. 56 for BSC, 1 for Ethereum) |
dexKind | string | — | Filter by DEX kind (e.g. UNIV3_SR02) |
project | string | — | Filter by protocol/DEX name (e.g. uniswap-v3, pancakeswap-v3, aerodrome-v2) |
hookless | boolean | — | If true, exclude pools with a custom hook contract (Uniswap V4 / PancakeSwap Infinity). Hooks can add custom fees or transfer restrictions. |
pageSize | integer | — | Results per page, max 200 (default: 50) |
poolType | string | — | Filter by pool type |
trending | boolean | — | If true, return only currently trending pools (with momentumSignal and suggestedRangePct on each result) |
Parameters from the server's own tool schema.
Why search_liquidity_pools is rated Low
This tool retrieves and queries pool data from supported AMMs across chains. It is a pure read operation that discovers and returns pool metadata without side effects. While the broader server enables financial transactions (swaps, zaps), this specific tool only queries and searches existing pools. The presence of hook contract addresses in responses does not change this—it is informational data, not execution.
From the tool's definition Maps to GET /pools. Discovers liquidity pools... returning id, poolId, symbol, underlyingTokens, fee tier, protocol, dexKind, APY, apyBase, TVL, 24h/7d volume, stablecoin flags, and hooksAddress. Use `trending: true` to get only pools currently trending.
Risk signalsHigh parameter count (17 properties)
Attacks that exploit this kind of access
The rule that runs search_liquidity_pools safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Swapwizard, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For search_liquidity_pools, this is the rule to start with:
search_liquidity_pools is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Swapwizard, apply this rule, and every search_liquidity_pools call is checked against it from then on.
Questions about search_liquidity_pools
Maps to GET /pools. Discovers liquidity pools across supported AMMs and chains, returning id, poolId, symbol, underlyingTokens (token addresses), fee tier, protocol, dexKind, APY, apyBase (fee-only APY excluding reward emissions), TVL (USD), 24h/7d volume (USD), stablecoin flags, and hooksAddress (custom hook contract for Uniswap V4 / PancakeSwap Infinity pools; null when the pool has no hook — hooks can add custom fees or transfer restrictions). KEY PARAMETERS: Use trending: true to get only pools currently trending, optionally with timeframe ("5m", "1h", "6h", "24h") to select the ranking window — default is 5m. Trending results include feeAprEstimate: fee APR (%) annualized from the selected timeframe's volume window over the pool reserve (null outside trending mode or when the fee tier is unknown). NOTE: feeAprEstimate extrapolates a short window to a year — for short timeframes on hot pools it can be extreme and short-lived; the apy field is the stable 24h-based metric. MOMENTUM SIGNAL (1h/6h/24h windows, powered by on-chain DEX trade data): each trending pool carries momentumSignal — "entry" (volume accelerating with healthy LP flow — a pool worth entering), "watch" (in the ranking but not yet actionable), or "exit" (dying volume or LPs leaving). Supporting fields: momentumScore (composite acceleration x size x flow quality), momentumRatioH1/H6/H24 (volume vs the previous equal window), momentumTakersH6 (unique traders 6h), lpMintsH6/lpBurnsH6 and lpNetFlowH6 (inflow/outflow/flat — are LPs adding or pulling liquidity). The 5m window carries the signal as HOURLY CONTEXT (last hourly cycle, not the last 5 minutes), since 5m is real-time GeckoTerminal data. Each pool also carries suggestedRangePct: a suggested concentrated-liquidity range (± percent) balancing fee density against time-in-range — ~0.5% for stable pairs, tens of percent for volatile/memecoin pairs — pass it to zap_into_lp_position. To ENTER the hottest profitable pool: trending: true, timeframe: "6h", signal: "entry", sortBy: "signal", sortOrder: "desc" returns entry-signal pools ranked by APR. (Use timeframe "6h" for sustained traction / LP-yield strategies, "1h" for faster reaction.) To check whether to EXIT, read momentumSignal on list_user_lp_positions instead. Use hookless: true to exclude pools with a custom hook contract. Use sortBy ("apy", "tvl", "volume1d", "volume7d", "signal") with sortOrder to control ranking — default is tvl desc. Use topPerVenue to limit to top N pools per DEX by APY. Supports filtering by protocol/DEX, tokens, pool type, stablecoin status, and free-text search, with pagination. Required upstream step before zap_into_lp_position. IMPORTANT: The response contains two ID fields — poolId (string) must be passed AS-IS to zap_into_lp_position and zap_out_of_lp_position (do NOT construct or modify it), and id (number) is used only for analyze_pool. It is categorised as a Read tool in the Swapwizard MCP Server, which means it retrieves data without modifying state.
search_liquidity_pools accepts 12 parameters: page, search, signal, sortBy, tokens, chainId, dexKind, project, hookless, pageSize, poolType, trending. Required: chainId. The full parameter table on this page comes from the server's own tool schema.
Register the Swapwizard MCP server in PolicyLayer and add a rule for search_liquidity_pools: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Swapwizard. Nothing to install.
search_liquidity_pools is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the search_liquidity_pools rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for search_liquidity_pools. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
search_liquidity_pools is provided by the Swapwizard MCP server (@swapwizard/mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Swapwizard, and thousands of servers like it.
This server
Across the catalogue