Cambrian V3 - Pool Info API
GET /api/v1/evm/pancake/v3/pool
V3 - Pool Info (PancakeSwap)
Overview
Returns a specific PancakeSwap V3 pool's current TVL (Total Value Locked), Swap Volume, Fees APR (Annual Percentage Rate), price volatility and mean adjusted volatility (percentage), Tick Pressure Per 1M$ Volume, and counts of swaps and unique users, broken down by recent time range (5 minutes, 1 hour, 1 day, 1 week, 1 month, and 1 year).
Business Value
- Pool Performance Monitoring: Track key metrics like TVL, volume, and fees to assess pool health and profitability
- Liquidity Analysis: Monitor price tick utilization to understand how efficiently liquidity is being used
- User Activity Insights: Analyze swap counts and unique user metrics across different time periods for activity trends
- APR Calculations: Access fees APR data for yield farming and liquidity provision decision making
- Historical Context: Compare performance across multiple time ranges from 5 minutes to 1 year for trend analysis
Endpoint Details
URL:
https://api.cambrian.org/evm/pancake/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. Allowed values: 1, 8453, 42161, 4663. |
| 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 token0. |
| token0Symbol | String | Symbol of token0. |
| token0Decimals | UInt8 | Decimal precision of token0. |
| token1Address | String | Contract address of token1. |
| token1Symbol | String | Symbol of token1. |
| token1Decimals | UInt8 | Decimal precision of token1. |
| feeTier | UInt32 | Pool fee tier (in hundredths of a bip). |
| tickSpacing | Int32 | Minimum tick spacing allowed for the pool. |
| currentLiquidity | Int256 | Current in-range liquidity of the pool. |
| currentSqrtPriceX96 | UInt256 | Current pool price expressed as sqrt(price) * 2^96. |
| currentTick | Int32 | Current tick of the pool. |
| currentPoolPrice | Float64 | Current pool price (token1 per token0). |
| poolTvlUsd | Nullable(Float64) | Current pool Total Value Locked in USD. |
| 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)) | Fee APR keyed by time range. |
| priceVolatilityPct | Map(String,Nullable(Float64)) | Price volatility percentage keyed by time range. |
| priceVolatilityAdjustedPct | Map(String,Nullable(Float64)) | Mean-adjusted price volatility percentage keyed by time range. |
| tickPressurePer1MUsd | Map(String,Nullable(Float64)) | Tick pressure per $1M of volume, keyed by time range. |
| swapCount | Map(String,Nullable(UInt64)) | Number of swaps keyed by time range. |
| uniqueUserCount | Map(String,Nullable(UInt64)) | Number of unique users keyed by time range. |
Examples
1. Retrieve pool metrics for a PancakeSwap V3 pool
Fetches TVL, volume, fee APR, volatility, and activity metrics for a specific PancakeSwap V3 pool on Base.
curl -X GET "https://api.cambrian.org/evm/pancake/v3/pool?pool_address=0xC211e1f853A898Bd1302385CCdE55f33a8C4B3f3" \
-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": "Int256"
},
{
"name": "currentSqrtPriceX96",
"type": "UInt256"
},
{
"name": "currentTick",
"type": "Int32"
},
{
"name": "currentPoolPrice",
"type": "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,Nullable(Float64))"
},
{
"name": "priceVolatilityAdjustedPct",
"type": "Map(String,Nullable(Float64))"
},
{
"name": "tickPressurePer1MUsd",
"type": "Map(String,Nullable(Float64))"
},
{
"name": "swapCount",
"type": "Map(String,Nullable(UInt64))"
},
{
"name": "uniqueUserCount",
"type": "Map(String,Nullable(UInt64))"
}
],
"data": [
[
"2024-09-13T06:45:47+00:00",
"0x4200000000000000000000000000000000000006",
"WETH",
18,
"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"cbBTC",
8,
100,
1,
"72720875709050738",
"141013017491590372601253",
-264794,
0.031678108688258565,
5799179.476680115,
{
"1 day": 40229949.47122479,
"1 hour": 2709107.484120774,
"1 month": 1333971972.678244,
"1 week": 338395611.707193,
"1 year": 23033433953.247795,
"5 minute": 150253.5894203172
},
{
"1 day": 0.2532070548263706,
"1 hour": 0.40922654069130193,
"1 month": 0.2760332515403182,
"1 week": 0.3034320955151337,
"1 year": 0.3971843610957504,
"5 minute": 0.2723602086015415
},
{
"1 day": 0.008012922430936447,
"1 hour": 0.0029557481430979946,
"1 month": 0.05386892643577996,
"1 week": 0.02406676000832841,
"1 year": 0.30870367079202765,
"5 minute": 0.00047591079311756914
},
{
"1 day": 5.322341829432387e-05,
"1 hour": 7.277721492556668e-05,
"1 month": 6.565193630982243e-05,
"1 week": 5.641459379852175e-05,
"1 year": 9.977020353775134e-05,
"5 minute": 5.73481488914506e-05
},
{
"1 day": 174.47200635985058,
"1 hour": 210.4013972649706,
"1 month": 172.35369611131688,
"1 week": 180.75589009980007,
"1 year": 179.7248733472627,
"5 minute": 173.04079124038745
},
{
"1 day": 22666,
"1 hour": 1649,
"1 month": 673258,
"1 week": 181992,
"1 year": 9573745,
"5 minute": 68
},
{
"1 day": 130,
"1 hour": 60,
"5 minute": 10
}
]
],
"rows": 1
}
]
Result collections are limited to 10 items. This response shows the WETH/cbBTC pool with a fee tier of 100 (0.01%), current TVL of ~$5.8M, and swap volume, fee APR, volatility, and user activity metrics broken out across all supported time ranges.
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/pancake/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/pancake/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 through 5 automatically.
Network: Base (chain ID 8453) | Currency: USDC | Price: $0.05 per request