Skip to main content
POST
/
v1
/
pools
/
search
Search liquidity pools
curl --request POST \
  --url https://api.hydric.org/v1/pools/search \
  --header 'Content-Type: application/json' \
  --data '
{
  "tokensA": [
    {
      "chainId": 1,
      "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
    },
    {
      "chainId": 1,
      "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
    },
    {
      "chainId": 8453,
      "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
    }
  ],
  "tokensB": [
    {
      "chainId": 1,
      "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
    },
    {
      "chainId": 8453,
      "address": "0x4200000000000000000000000000000000000006"
    }
  ],
  "filters": {
    "blockedPoolTypes": [
      "ALGEBRA"
    ],
    "blockedProtocols": [
      "sushiswap-v3"
    ],
    "minimumTotalValueLockedUsd": 10000
  },
  "config": {
    "limit": 10,
    "orderBy": {
      "field": "tvl",
      "direction": "desc",
      "timeframe": "24h"
    },
    "cursor": ""
  }
}
'
{
  "statusCode": 200,
  "timestamp": "2026-01-11T00:00:00.000Z",
  "path": "/pools",
  "traceId": "req_123abc",
  "data": {
    "pools": [
      {
        "address": "0x8ad599c3a01ae48104127aeeb893430d0bc41221",
        "tokens": [
          {
            "address": "0x0000000000000000000000000000000000000000",
            "decimals": 18,
            "name": "Ether",
            "symbol": "ETH"
          },
          {
            "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "decimals": 18,
            "name": "USDC",
            "symbol": "USDC"
          }
        ],
        "balance": {
          "totalValueLockedUsd": 3001.32,
          "tokens": [
            {
              "amount": 1,
              "amountUsd": 1500.11,
              "token": {
                "address": "0x0000000000000000000000000000000000000000",
                "decimals": 18,
                "name": "Ether",
                "symbol": "ETH"
              }
            },
            {
              "amount": 1500.11,
              "amountUsd": 1501.21,
              "token": {
                "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "decimals": 18,
                "name": "USDC",
                "symbol": "USDC"
              }
            }
          ]
        },
        "chainId": 1,
        "createdAtTimestamp": 1768429616,
        "feeTier": {
          "feeTierPercentage": 0.4,
          "isDynamic": false
        },
        "type": "V3",
        "stats": {
          "stats24h": {
            "feesUsd": 12450.55,
            "swapVolumeUsd": 4124500.22,
            "yield": 12.5,
            "netInflowUsd": 450000,
            "liquidityVolumeUsd": 120000
          },
          "stats7d": {
            "feesUsd": 85400.12,
            "swapVolumeUsd": 28450100.45,
            "yield": 11.2,
            "netInflowUsd": 1200000,
            "liquidityVolumeUsd": 850000
          },
          "stats30d": {
            "feesUsd": 345200.55,
            "swapVolumeUsd": 115045000.11,
            "yield": 10.8,
            "netInflowUsd": 5400000,
            "liquidityVolumeUsd": 3200000
          },
          "stats90d": {
            "feesUsd": 1120400.88,
            "swapVolumeUsd": 375200400.55,
            "yield": 10.5,
            "netInflowUsd": 12500000,
            "liquidityVolumeUsd": 9800000
          }
        },
        "protocol": {
          "id": "uniswap-v3",
          "logoUrl": "https://cryptologos.cc/logos/uniswap-uni-logo.png",
          "name": "Uniswap V3",
          "url": "https://app.uniswap.org"
        },
        "metadata": {
          "latestSqrtPriceX96": "1564073352721610496185854744476",
          "tickSpacing": 60,
          "latestTick": "201235",
          "positionManagerAddress": "0xC36442b4a4522E871399CD717aBDD847Ab11FE88"
        }
      }
    ],
    "filters": {
      "blockedPoolTypes": [],
      "blockedProtocols": [],
      "minimumTotalValueLockedUsd": 0
    },
    "nextCursor": "Y3Vyc29yXzE2NjMwMDAwMDA="
  }
}

Body

application/json

Search criteria and pagination config.

tokensA
object[]
required

Primary set of token addresses. The search engine returns pools containing at least one of these tokens.

  • Single Token Search: Provide 'tokensA' and omit 'tokensB'.
  • Pair Search: Used in conjunction with 'tokensB'.
  • Note: Token ordering does not affect search results.
Example:
[
{
"chainId": 1,
"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
},
{
"chainId": 1,
"address": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
},
{
"chainId": 8453,
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
]
tokensB
object[]

Secondary set of token identifiers used to narrow the search to specific pairs.

  • Relationship: Returns pools containing (one token from 'tokensA') AND (one token from 'tokensB').
  • Broad Search: If omitted, the search returns any pool containing a token from 'tokensA'.
  • Note: Evaluation is order-independent.
Example:
[
{
"chainId": 1,
"address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
},
{
"chainId": 8453,
"address": "0x4200000000000000000000000000000000000006"
}
]
filters
object

Filters based on pool attributes like TVL and protocol types.

Example:
{
"blockedPoolTypes": ["ALGEBRA"],
"blockedProtocols": ["sushiswap-v3"],
"minimumTotalValueLockedUsd": 10000
}
config
object

Configuration for the search such as limit, cursor, etc.

Response

Successfully retrieved a list of matching liquidity pools.

Global Success Response that every endpoint returns if the request was successful (not errors).

statusCode
number
required

HTTP status code.

Example:

200

timestamp
string
required

ISO 8601 Timestamp.

Example:

"2026-01-11T00:00:00.000Z"

path
string
required

Request Path.

Example:

"/pools"

traceId
string
required

Unique Trace ID for observability.

Example:

"req_123abc"

data
object
required

The requested data payload.