Get information about a single liquidity pool
curl --request GET \
--url https://api.hydric.org/v1/pools/{chainId}/{poolAddress} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hydric.org/v1/pools/{chainId}/{poolAddress}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hydric.org/v1/pools/{chainId}/{poolAddress}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hydric.org/v1/pools/{chainId}/{poolAddress}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hydric.org/v1/pools/{chainId}/{poolAddress}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hydric.org/v1/pools/{chainId}/{poolAddress}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hydric.org/v1/pools/{chainId}/{poolAddress}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"timestamp": "2026-01-01T12:00:00.000Z",
"path": "/pools/v1/8453/0x...",
"traceId": "doc_sample_trace_id",
"data": {
"pool": {
"address": "0x8ad599c3a01ae48104127aeeb893430d0bc41221",
"tokens": [
{
"chainId": 1,
"address": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
"logoUrl": "https://cdn.jsdelivr.net/gh/atomiclabs/cryptocurrency-icons@1a63530be6e374711a8554f31b17e4cb92c25fa5/128/color/eth.png"
},
{
"chainId": 1,
"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"decimals": 18,
"name": "USDC",
"symbol": "USDC",
"logoUrl": "https://cdn.jsdelivr.net/gh/atomiclabs/cryptocurrency-icons@1a63530be6e374711a8554f31b17e4cb92c25fa5/128/color/usdc.png"
}
],
"balance": {
"totalValueLockedUsd": 3001.32,
"tokens": [
{
"amount": 1,
"amountUsd": 1500.11,
"token": {
"chainId": 1,
"address": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
"logoUrl": "https://cdn.jsdelivr.net/gh/atomiclabs/cryptocurrency-icons@1a63530be6e374711a8554f31b17e4cb92c25fa5/128/color/eth.png"
}
},
{
"amount": 1500.11,
"amountUsd": 1501.21,
"token": {
"chainId": 1,
"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"decimals": 18,
"name": "USDC",
"symbol": "USDC",
"logoUrl": "https://cdn.jsdelivr.net/gh/atomiclabs/cryptocurrency-icons@1a63530be6e374711a8554f31b17e4cb92c25fa5/128/color/usdc.png"
}
}
]
},
"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"
}
}
}
}Liquidity Pools
Get information about a single liquidity pool
Returns detailed information about a single liquidity pool by address and chain id
GET
/
v1
/
pools
/
{chainId}
/
{poolAddress}
Get information about a single liquidity pool
curl --request GET \
--url https://api.hydric.org/v1/pools/{chainId}/{poolAddress} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hydric.org/v1/pools/{chainId}/{poolAddress}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hydric.org/v1/pools/{chainId}/{poolAddress}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hydric.org/v1/pools/{chainId}/{poolAddress}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hydric.org/v1/pools/{chainId}/{poolAddress}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hydric.org/v1/pools/{chainId}/{poolAddress}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hydric.org/v1/pools/{chainId}/{poolAddress}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"timestamp": "2026-01-01T12:00:00.000Z",
"path": "/pools/v1/8453/0x...",
"traceId": "doc_sample_trace_id",
"data": {
"pool": {
"address": "0x8ad599c3a01ae48104127aeeb893430d0bc41221",
"tokens": [
{
"chainId": 1,
"address": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
"logoUrl": "https://cdn.jsdelivr.net/gh/atomiclabs/cryptocurrency-icons@1a63530be6e374711a8554f31b17e4cb92c25fa5/128/color/eth.png"
},
{
"chainId": 1,
"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"decimals": 18,
"name": "USDC",
"symbol": "USDC",
"logoUrl": "https://cdn.jsdelivr.net/gh/atomiclabs/cryptocurrency-icons@1a63530be6e374711a8554f31b17e4cb92c25fa5/128/color/usdc.png"
}
],
"balance": {
"totalValueLockedUsd": 3001.32,
"tokens": [
{
"amount": 1,
"amountUsd": 1500.11,
"token": {
"chainId": 1,
"address": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
"logoUrl": "https://cdn.jsdelivr.net/gh/atomiclabs/cryptocurrency-icons@1a63530be6e374711a8554f31b17e4cb92c25fa5/128/color/eth.png"
}
},
{
"amount": 1500.11,
"amountUsd": 1501.21,
"token": {
"chainId": 1,
"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"decimals": 18,
"name": "USDC",
"symbol": "USDC",
"logoUrl": "https://cdn.jsdelivr.net/gh/atomiclabs/cryptocurrency-icons@1a63530be6e374711a8554f31b17e4cb92c25fa5/128/color/usdc.png"
}
}
]
},
"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"
}
}
}
}Authorizations
Use the docs sandbox API key for authentication: hydric_docs_4N4ocuirsN8Sh
Path Parameters
The address of the pool:
- Standard Format: A 42 character Ethereum contract address.
- V4 Format: A bytes32 Pool ID hex string
Example:
"0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8"
The chain id of the pool. This must be a supported network chain id.
Available options:
1, 143, 130, 999, 8453, 9745, 534352 Example:
1
Response
The pool data was successfully retrieved.
Global Success Response that every endpoint returns if the request was successful (not errors).
HTTP status code.
Example:
200
ISO 8601 Timestamp.
Example:
"2026-01-11T00:00:00.000Z"
Request Path.
Example:
"/pools"
Unique Trace ID for observability.
Example:
"req_123abc"
Response object for retrieving a single liquidity pool.
Show child attributes
Show child attributes
Was this page helpful?
⌘I