LLMs.txt: agent-readable Markdown index of this site at /llms.txt
POSTGet pool state

Get pool state

Fetches detailed information about one or more liquidity pools across Uniswap v2, v3, and v4. Returns pool state including token addresses, reserves, liquidity, current tick, sqrtRatioX96, fee tier, tick spacing, and hook addresses (V4).

Provide one of poolParameters or poolReferences (not both):
- poolParameters: Look up pools by token pair. Provide token addresses and optional fee/tickSpacing/hooks to find matching pools.

- poolReferences: Look up specific known pools by their reference identifier (pool address for v3, pool ID for v4, pair address for v2). Limited to 20 references per request; larger batches are rejected with an HTTP 400 error.

Pool reserves (token0Reserves/token1Reserves) are returned for v2 pools and, best-effort, for v4 pools. v4 reserves are the fee-excluded core principal computed from on-chain pool state: uncollected LP fees, donations, and hook-held assets are excluded, and for pools whose hooks perform custom accounting the value approximates swappable reserves.

Authorization

x-api-keystringrequiredheader
Playground key
You're using a shared playground keyCreate a free account and get your own API keys from the dashboard.
Get your keys

Headers

x-agent-infostring

Optional attribution hint for AI-agent traffic; send it if an AI agent built or operates your integration. The value is a JSON object with up to three fields: decision_origin (required, exactly autonomous or human_mediated, case-sensitive), integration_name (optional string naming your integration, e.g. my-trading-bot), and version (optional string identifying your integration's version). Any other key is dropped, never rejected. The raw value must be at most 1024 bytes of printable US-ASCII (0x20-0x7E), so send non-ASCII text as JSON \u escapes; integration_name and version are each limited to 256 UTF-16 code units and may not contain control characters, U+2028, U+2029, or U+FFFD. Send the header once: repeated header lines are joined with , and the joined string is what gets parsed, so two complete objects fail as invalid JSON while a single object split across two lines still parses. The header is analytics-only and never affects the request: omitting it, sending it, or sending a value that fails these rules never changes the response status, body, or swap behavior. A value that fails to parse is dropped and reported by the x-agent-info-status response header. Never put a user ID, wallet address, email, session token, or API key in these fields.

Body

application/json
protocolenumrequired
V2V3V4

The protocol of the pool.

tokenAddressAstringrequired

The address of the first token in the pair.

tokenAddressBstringrequired

The address of the second token in the pair.

feenumberrequired

The fee tier of the pool. Must be provided for v3 and v4 pools.

tickSpacingnumber

The width of ticks in this pool (e.g. the price range between two ticks) specified in basis points. Must be provided for v4 pools.

hookAddressstring

The address of the hook for the pool, if any.

chainIdenumdefault:1
1105613013714319632448018684217432646635042845310143421614222043114570735914481457777777713018453211155111

The unique ID of the blockchain. For a list of supported chains see the FAQ.

pageSizenumber
currentPagenumber

Response

Pool information response successful.

requestIdstring

A unique ID for the request.

poolsobject[]

Array of pool information objects.

pageSizenumber
currentPagenumber