Cambrian V3 - Pool Info API
GET /api/v1/evm/sushi/v3/pool
Sushi V3 Pool Info
Overview
Returns real-time and historical metrics for a specific Sushi V3 liquidity pool on an EVM chain, including TVL, swap volume, fee APR, price volatility, tick pressure, swap counts, and unique users across multiple time ranges (5 minutes, 1 hour, 1 day, 1 week, 1 month, and 1 year).
Business Value
- Pool Performance Analysis: Track key metrics like TVL, volume, and fees APR to evaluate individual pool performance across different timeframes
- Liquidity Provider Insights: Monitor tick utilization and fee generation to optimize liquidity provision strategies and assess pool efficiency
- Trading Activity Monitoring: Analyze swap counts and unique user metrics to understand pool usage patterns and market activity levels
- Risk Assessment: Compare metrics across different time periods to identify trends, volatility patterns, and potential risks in specific pools
- Portfolio Management: Make informed decisions about liquidity allocation by comparing performance metrics across different Sushi V3 pools
Endpoint Details
URL:
https://api.cambrian.org/evm/sushi/v3/pool
Method: GET
Authentication: Required via X-API-Key header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| chain_id | integer | No | 8453 | EVM chain ID. |
| pool_address | string | Yes | - | Pool address with 0x prefix |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| createdAt | DateTime('UTC') | Timestamp when the pool was created. |
| token0Address | String | Contract address of the pool's token0. |
| token0Symbol | String | Symbol of token0. |
| token0Decimals | UInt8 | Decimal precision of token0. |
| token1Address | String | Contract address of the pool's token1. |
| token1Symbol | String | Symbol of token1. |
| token1Decimals | UInt8 | Decimal precision of token1. |
| feeTier | UInt32 | Pool fee tier in hundredths of a basis point (e.g. 500 = 0.05%). |
| tickSpacing | Int32 | Minimum tick spacing configured for the pool. |
| currentLiquidity | Nullable(Int256) | Current in-range liquidity of the pool. |
| currentSqrtPriceX96 | Nullable(UInt256) | Current pool price expressed as sqrt(price) * 2^96. |
| currentTick | Nullable(Int32) | Current tick of the pool. |
| currentPoolPrice | Nullable(Float64) | Current pool price of token0 in terms of token1 (or vice versa, decimal-adjusted). |
| poolTvlUsd | Nullable(Float64) | Current Total Value Locked in the pool, in USD. Null when a required token price is unavailable. |
| swapVolumeUsd | Map(String,Nullable(Float64)) | Swap volume in USD, keyed by time range (5 minute, 1 hour, 1 day, 1 week, 1 month, 1 year). |
| feeApr | Map(String,Nullable(Float64)) | Annualized fee APR, keyed by time range. |
| priceVolatilityPct | Map(String,Float64) | Price volatility (percentage) over each time range. |
| priceVolatilityAdjustedPct | Map(String,Float64) | Mean-adjusted price volatility (percentage) over each time range. |
| tickPressurePer1MUsd | Map(String,Nullable(Float64)) | Tick movement pressure per $1M of volume, keyed by time range. |
| swapCount | Map(String,UInt64) | Number of swaps executed in the pool, keyed by time range. |
| uniqueUserCount | Map(String,UInt64) | Number of unique addresses that swapped in the pool, keyed by time range. |
Examples
1. Established WETH/USDC Pool Metrics
This example fetches metrics for a mature, high-volume WETH/USDC pool on Base, showing populated TVL, volume, and APR data across all time ranges.
curl -X GET "https://api.cambrian.org/evm/sushi/v3/pool?chain_id=8453&pool_address=0x57713f7716e0b0f65ec116912f834e49805480d2" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{ "name": "createdAt", "type": "DateTime('UTC')" },
{ "name": "token0Address", "type": "String" },
{ "name": "token0Symbol", "type": "String" },
{ "name": "token0Decimals", "type": "UInt8" },
{ "name": "token1Address", "type": "String" },
{ "name": "token1Symbol", "type": "String" },
{ "name": "token1Decimals", "type": "UInt8" },
{ "name": "feeTier", "type": "UInt32" },
{ "name": "tickSpacing", "type": "Int32" },
{ "name": "currentLiquidity", "type": "Nullable(Int256)" },
{ "name": "currentSqrtPriceX96", "type": "Nullable(UInt256)" },
{ "name": "currentTick", "type": "Nullable(Int32)" },
{ "name": "currentPoolPrice", "type": "Nullable(Float64)" },
{ "name": "poolTvlUsd", "type": "Nullable(Float64)" },
{ "name": "swapVolumeUsd", "type": "Map(String,Nullable(Float64))" },
{ "name": "feeApr", "type": "Map(String,Nullable(Float64))" },
{ "name": "priceVolatilityPct", "type": "Map(String,Float64)" },
{ "name": "priceVolatilityAdjustedPct", "type": "Map(String,Float64)" },
{ "name": "tickPressurePer1MUsd", "type": "Map(String,Nullable(Float64))" },
{ "name": "swapCount", "type": "Map(String,UInt64)" },
{ "name": "uniqueUserCount", "type": "Map(String,UInt64)" }
],
"data": [
[
"2023-12-23T13:09:57+00:00",
"0x4200000000000000000000000000000000000006",
"WETH",
18,
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
6,
500,
10,
"12168291628959629",
"3429390148551778643869805",
-200965,
1873.5902788836208,
133085.05823142148,
{
"1 day": 84784.81064076404,
"1 hour": 1672.4626284147264,
"1 month": 2859603.0993273193,
"1 week": 612322.8090306392,
"1 year": 106096654.54211769,
"5 minute": 16.26196159475969
},
{
"1 day": 0.11626570366023403,
"1 hour": 0.05504289068813716,
"1 month": 0.12892220076372923,
"1 week": 0.11962569837939782,
"1 year": 0.39860468166766816,
"5 minute": 0.006422424220863941
},
{
"1 day": 0.007793798241932551,
"1 hour": 0.00096295770573279,
"1 month": 0.05946016418751398,
"1 week": 0.02136517147094936,
"1 year": 0.3729483301702738,
"5 minute": 6.174395700693347e-05
},
{
"1 day": 0.00016239576284365244,
"1 hour": 0.00012815107552587344,
"1 month": 0.00021172025419513254,
"1 week": 0.00016551055173691904,
"1 year": 0.00023320572177512342,
"5 minute": 0
},
{
"1 day": 3781.3376898179617,
"1 hour": 3766.9003139230485,
"1 month": 4146.099856581147,
"1 week": 3736.591167691605,
"1 year": 2822.4122739056443,
"5 minute": 0
},
{
"1 day": 2302,
"1 hour": 52,
"1 month": 78872,
"1 week": 16662,
"1 year": 2557516,
"5 minute": 1
},
{
"1 day": 37,
"1 hour": 10,
"5 minute": 1
}
]
],
"rows": 1
}
]
This pool (WETH/USDC, 0.05% fee tier) shows a healthy ~$133K TVL with strong recent activity: 2,302 swaps and 37 unique users in the last day, and a 1-day fee APR of ~11.6%.
2. Newer Pool with Sparse Trading History
This example queries a much newer, lower-activity USDC/AXONE pool, illustrating how USD-denominated fields (TVL, swap volume, fee APR, tick pressure) return null when a required token price is unavailable, while non-USD fields like swap counts remain populated.
curl -X GET "https://api.cambrian.org/evm/sushi/v3/pool?chain_id=8453&pool_address=0xeb0d1bae8d3d9f4f877d292fa8c30feecbb1cb0c" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{ "name": "createdAt", "type": "DateTime('UTC')" },
{ "name": "token0Address", "type": "String" },
{ "name": "token0Symbol", "type": "String" },
{ "name": "token0Decimals", "type": "UInt8" },
{ "name": "token1Address", "type": "String" },
{ "name": "token1Symbol", "type": "String" },
{ "name": "token1Decimals", "type": "UInt8" },
{ "name": "feeTier", "type": "UInt32" },
{ "name": "tickSpacing", "type": "Int32" },
{ "name": "currentLiquidity", "type": "Nullable(Int256)" },
{ "name": "currentSqrtPriceX96", "type": "Nullable(UInt256)" },
{ "name": "currentTick", "type": "Nullable(Int32)" },
{ "name": "currentPoolPrice", "type": "Nullable(Float64)" },
{ "name": "poolTvlUsd", "type": "Nullable(Float64)" },
{ "name": "swapVolumeUsd", "type": "Map(String,Nullable(Float64))" },
{ "name": "feeApr", "type": "Map(String,Nullable(Float64))" },
{ "name": "priceVolatilityPct", "type": "Map(String,Float64)" },
{ "name": "priceVolatilityAdjustedPct", "type": "Map(String,Float64)" },
{ "name": "tickPressurePer1MUsd", "type": "Map(String,Nullable(Float64))" },
{ "name": "swapCount", "type": "Map(String,UInt64)" },
{ "name": "uniqueUserCount", "type": "Map(String,UInt64)" }
],
"data": [
[
"2026-07-21T09:36:57+00:00",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
6,
"0xd15609adafa9edae304c0b8ae26935ed468468c5",
"AXONE",
18,
100,
1,
"13416023159057683",
"50935946474403620283368423458634800",
267488,
0.4133230195421529,
null,
{
"1 day": null,
"1 hour": null,
"1 month": null,
"1 week": null,
"1 year": null,
"5 minute": null
},
{
"1 day": null,
"1 hour": null,
"1 month": null,
"1 week": null,
"1 year": null,
"5 minute": null
},
{
"1 day": 0,
"1 hour": 0,
"1 month": 0.6196535853661563,
"1 week": 0,
"1 year": 0.6196535853661563,
"5 minute": 0
},
{
"1 day": 0,
"1 hour": 0,
"1 month": 0.005472061116799801,
"1 week": 0,
"1 year": 0.005472061116799801,
"5 minute": 0
},
{
"1 day": null,
"1 hour": null,
"1 month": null,
"1 week": null,
"1 year": null,
"5 minute": null
},
{
"1 day": 0,
"1 hour": 0,
"1 month": 12820,
"1 week": 0,
"1 year": 12820,
"5 minute": 0
},
{
"1 day": 0,
"1 hour": 0,
"5 minute": 0
}
]
],
"rows": 1
}
]
This 0.01% fee tier USDC/AXONE pool has had no trading activity in the last day, week, or hour (all zero swap counts), so poolTvlUsd, swapVolumeUsd, feeApr, and tickPressurePer1MUsd are null since no recent priced trades exist to compute them, while price volatility and 1-month swap count (12,820) remain available.
x402 Payment Option
This endpoint supports pay-per-use access via the x402 payment protocol (v2) — pay $0.05 USDC per request using blockchain micropayments. No API key required.
Quick Start (TypeScript)
npm install @x402/fetch @x402/evm viem
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);
const client = new x402Client();
client.register("eip155:*", new ExactEvmScheme(signer));
const fetchWithPayment = wrapFetchWithPayment(fetch, client);
const response = await fetchWithPayment(
"https://x402.cambrian.org/evm/sushi/v3/pool"
);
const data = await response.json();
Quick Start (Python)
pip install "x402[httpx]"
import asyncio, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
async def main():
client = x402Client()
account = Account.from_key(os.getenv("EVM_PRIVATE_KEY"))
register_exact_evm_client(client, EthAccountSigner(account))
async with x402HttpxClient(client) as http:
response = await http.get("https://x402.cambrian.org/evm/sushi/v3/pool")
print(response.json())
asyncio.run(main())
Payment Flow
- Send a normal request to the endpoint (no API key needed)
- Server returns
402 Payment Requiredwith payment details - The x402 SDK automatically signs a payment authorization with your wallet
- The SDK resubmits the request with the signed payment
- Server verifies payment and returns the API response
The x402 SDK handles steps 2–5 automatically.
Network: Base (chain ID 8453) | Currency: USDC | Price: $0.05 per request
Related Endpoints
/evm/sushi/v3/pools- Returns a list of all Sushi V3 liquidity pools, including token pairs, fee tiers, and creation timestamps./evm/uniswap/v3/pool- Returns the same set of pool metrics (TVL, volume, fee APR, volatility) for a Uniswap V3 pool./evm/aero/v3/pool- Returns the same set of pool metrics for an Aerodrome V3 pool./evm/pancake/v3/pool- Returns the same set of pool metrics for a PancakeSwap V3 pool./evm/price-current- Returns current price of a token calculated based on Uniswap V3 and clones liquidity pools.