# Get pool state (POST /lp/pool_info)

Operation `pool_info` of the Uniswap API. Base URL: `https://trade-api.gateway.uniswap.org/v1`.

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.

Parameters: 1 header, 6 body · Request: `application/json` · Auth: apiKey · Responses: 200, 400, 401, 404, 429, 500, 504

## Headers

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `x-api-key` | string | yes | Your API key for authentication. |

## Body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `protocol` | enum | yes | The protocol of the pool. |
| `poolParameters` | object | no |  |
| `poolReferences` | object[] | no | Array of pool reference identifiers to query. Each reference should include the protocol, chainId, and either the pool address (v3), pool id (v4), or pair address (v2). At most 20 references may be provided per request; requests exceeding this limit are rejected with an HTTP 400 error. |
| `chainId` | enum | no | The unique ID of the blockchain. For a list of supported chains see the [FAQ](https://api-docs.uniswap.org/guides/faqs). |
| `pageSize` | number | no |  |
| `currentPage` | number | no |  |

## Responses

- `200` — Pool information response successful.
- `400` — RequestValidationError, Bad Input
- `401` — UnauthorizedError eg. Account is blocked.
- `404` — ResourceNotFound eg. No pool information on given chain
- `429` — Ratelimited
- `500` — Unexpected error
- `504` — Request duration limit reached.

Interactive playground: https://developers.uniswap.org/docs/api-reference/pool_info
All endpoints: https://developers.uniswap.org/docs/api-reference
