Cambrian V3 - List Pools API
GET /api/v1/evm/clones/v3/pools
V3 Pools (Uniswap Clones)
Overview
Returns a list of all liquidity pools deployed by Uniswap V3 clone DEXs on a given EVM chain, including token pair details, fee tiers, tick spacing, and pool creation timestamps. Results can be filtered by token address and support flexible sorting and pagination.
Business Value
- Pool Discovery: Find liquidity pools across multiple Uniswap V3 clone DEXs in a single query, enabling comprehensive market analysis
- Token Pair Analysis: Identify available trading pairs and their associated fee structures for optimal trading route planning
- Liquidity Monitoring: Track pool creation patterns and growth across different decentralized exchanges
- Cross-DEX Comparison: Compare fee tiers and pool availability across different Uniswap V3 clone implementations
- Integration Support: Provide essential pool metadata for DEX aggregators, portfolio trackers, and analytics platforms
Endpoint Details
URL:
https://api.cambrian.org/evm/clones/v3/pools
Method: GET
Authentication: Required via X-API-Key header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| chain_id | integer | No | 8453 | EVM chain ID. |
| token_address | string | No | - | Pool token address. See tokens for valid addresses. |
| limit | integer | No | 100 | Limit the number of results. |
| offset | integer | No | 0 | Offset the results, allows you to skip a number of rows before starting to return rows. |
| order_asc | array | No | - | List of column names to order by in ascending order divided by comma. Leave empty items to combine with descending order. |
| order_desc | array | No | - | List of column names to order by in descending order divided by comma. Leave empty items to combine with ascending order. |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| chainId | UInt16 | EVM chain ID the pool is deployed on. |
| dexAddress | FixedString(42) | Contract address of the DEX factory/router associated with the pool. |
| dexName | String | Name of the Uniswap V3 clone DEX (e.g., 9mm, Thick, Solidly). |
| poolAddress | FixedString(42) | Contract address of the liquidity pool. |
| 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. |
| createdAt | DateTime('UTC') | Timestamp when the pool was created. |
| fee | UInt32 | Pool fee tier, in hundredths of a basis point (e.g., 2500 = 0.25%). |
| tickSpacing | Int32 | Minimum tick spacing configured for the pool. |
Examples
1. List All Pools on Base
Retrieve the most recently created liquidity pools across all Uniswap V3 clone DEXs on Base (chain ID 8453).
curl -X GET "https://api.cambrian.org/evm/clones/v3/pools?chain_id=8453" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{ "name": "chainId", "type": "UInt16" },
{ "name": "dexAddress", "type": "FixedString(42)" },
{ "name": "dexName", "type": "String" },
{ "name": "poolAddress", "type": "FixedString(42)" },
{ "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": "createdAt", "type": "DateTime('UTC')" },
{ "name": "fee", "type": "UInt32" },
{ "name": "tickSpacing", "type": "Int32" }
],
"data": [
[8453, "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7", "9mm", "0xe65eb14f55c54563408b6d2388ed31307414bd34", "0xbb5cbdae23c5368557cc9a32337863eecf03cf9f", "wBEPE", 18, "0xc5a90b067ea7535c0be245fb0d52a8b9ae7f6adf", "BEPE", 18, "2026-07-11T07:13:53+00:00", 2500, 50],
[8453, "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7", "9mm", "0xd7cf4ea8fafbdbdbe01a090867cd65c308987bca", "0xc5a90b067ea7535c0be245fb0d52a8b9ae7f6adf", "BEPE", 18, "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf", "cbBTC", 8, "2026-07-11T07:01:17+00:00", 2500, 50],
[8453, "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7", "9mm", "0xa2368f4d2d7400a7f08297e29414c8d52f730f76", "0x4200000000000000000000000000000000000006", "WETH", 18, "0xc5a90b067ea7535c0be245fb0d52a8b9ae7f6adf", "BEPE", 18, "2026-07-09T21:40:05+00:00", 2500, 50],
[8453, "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7", "9mm", "0xf70434be24519e6dd196e4c192c127749336099e", "0x4200000000000000000000000000000000000006", "WETH", 18, "0x962a4859b3195d5218f9d5cc85adf17a3dc66593", "P\u00e2\u0085\u00a1P", 18, "2026-06-28T19:56:11+00:00", 10000, 200],
[8453, "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7", "9mm", "0x71d7ff92d88f83d313a3e5e66b5ad8d12dbe5efc", "0x4087ff5f00daafdd24f93b72a4bfdc3e6b5c1fa8", "wDIG", 18, "0x962a4859b3195d5218f9d5cc85adf17a3dc66593", "P\u00e2\u0085\u00a1P", 18, "2026-06-28T19:22:41+00:00", 10000, 200],
[8453, "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7", "9mm", "0xa97ba40d6f060bcc28f9c03adf06b1e975e386f7", "0x4087ff5f00daafdd24f93b72a4bfdc3e6b5c1fa8", "wDIG", 18, "0x4200000000000000000000000000000000000006", "WETH", 18, "2026-06-28T17:33:05+00:00", 10000, 200],
[8453, "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7", "9mm", "0xdfccc2fed71ad8d6f22e33d2817c2486a68edba6", "0x39916e508e389fbb4ddc3d1a38a5801f4ee253c7", "\u00f0\u009f\u00a7\u0099\u00e2\u0080\u008d\u00e2\u0099\u0082\u00ef\u00b8\u008f\u00f0\u009f\u0092\u00b8", 18, "0x817cab331aaa4c24b4e32024fca093ad40cba208", "\u00e2\u009d\u00a4\u00ef\u00b8\u008f", 18, "2026-06-27T01:59:23+00:00", 10000, 200],
[8453, "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7", "9mm", "0x8d642cdec519b5cf4b25eac520b3db682890d718", "0x817cab331aaa4c24b4e32024fca093ad40cba208", "\u00e2\u009d\u00a4\u00ef\u00b8\u008f", 18, "0xbb5cbdae23c5368557cc9a32337863eecf03cf9f", "wBEPE", 18, "2026-06-27T01:51:33+00:00", 10000, 200],
[8453, "0xe6da85feb3b4e0d6aed95c41a125fba859bb9d24", "Thick", "0x368c1367c098ec6d2b3588c1020ecbc5f00b7c8f", "0x6be0745b111839d58609b09818cac71e47023e92", "TRASH", 18, "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "USDC", 6, "2026-06-24T05:52:57+00:00", 500, 10],
[8453, "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7", "9mm", "0x5108390ef7d79d863c3f1fac5c62c5bad40abfbe", "0x09aa909eea859f712f2ae3dd1872671d2363f6f4", "\u00e2\u009c\u00a8\u00e2\u009d\u00a4\u00ef\u00b8\u008f\u00e2\u0080\u008d\u00f0\u009f\u0094\u00a5\u00f0\u009f\u00a7\u0099\u00e2\u0080\u008d\u00e2\u0099\u0082\u00ef\u00b8\u008f", 18, "0x801003cccd1a4c6079c71d18c7dbe8375589b2ed", "$BITCOIN", 18, "2026-06-23T04:50:03+00:00", 10000, 200]
],
"rows": 100
}
]
The response is capped to the first 10 rows for documentation purposes; the actual result set for this query contained 100 rows (as reported by rows). Pools are returned across multiple DEXs (9mm, Thick) and span a range of fee tiers and tick spacings, ordered by most recent creation time by default.
2. Find All Pools Containing a Specific Token
Filter pools to only those that include cbBTC (0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf) as one of the pair tokens, limited to 5 results.
curl -X GET "https://api.cambrian.org/evm/clones/v3/pools?chain_id=8453&token_address=0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf&limit=5" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{ "name": "chainId", "type": "UInt16" },
{ "name": "dexAddress", "type": "FixedString(42)" },
{ "name": "dexName", "type": "String" },
{ "name": "poolAddress", "type": "FixedString(42)" },
{ "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": "createdAt", "type": "DateTime('UTC')" },
{ "name": "fee", "type": "UInt32" },
{ "name": "tickSpacing", "type": "Int32" }
],
"data": [
[8453, "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7", "9mm", "0xd7cf4ea8fafbdbdbe01a090867cd65c308987bca", "0xc5a90b067ea7535c0be245fb0d52a8b9ae7f6adf", "BEPE", 18, "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf", "cbBTC", 8, "2026-07-11T07:01:17+00:00", 2500, 50],
[8453, "0xe6da85feb3b4e0d6aed95c41a125fba859bb9d24", "Thick", "0x42818c1fb1353f077b99a9744466a474dc0c2e7e", "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "USDC", 6, "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf", "cbBTC", 8, "2026-05-17T11:31:39+00:00", 500, 10],
[8453, "0xe6da85feb3b4e0d6aed95c41a125fba859bb9d24", "Thick", "0x8e92a2140ab2829ad1cc529becf46d6ddcdd8c82", "0x4200000000000000000000000000000000000006", "WETH", 18, "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf", "cbBTC", 8, "2026-05-04T14:18:13+00:00", 3000, 60],
[8453, "0xe6da85feb3b4e0d6aed95c41a125fba859bb9d24", "Thick", "0x03c34b09c28896b3ef4d059385e3e3162ef5ee2d", "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf", "cbBTC", 8, "0xecac9c5f704e954931349da37f60e39f515c11c1", "LBTC", 8, "2026-04-23T08:10:05+00:00", 500, 10],
[8453, "0x70fe4a44ea505cfa3a57b95cf2862d4fd5f0f687", "Solidly", "0xf4214e4ab39ddfdb0556fcf692998067a2af1dfe", "0x311935cd80b76769bf2ecc9d8ab7635b2139cf82", "SOL", 9, "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf", "cbBTC", 8, "2026-04-17T15:15:03+00:00", 1, 100]
],
"rows": 5
}
]
All 5 requested rows are returned. cbBTC appears as either token0 or token1 across pools on three different DEXs (9mm, Thick, Solidly), paired against BEPE, USDC, WETH, LBTC, and SOL, with fee tiers ranging from 1 (0.0001%) to 3000 (0.3%).
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/clones/v3/pools"
);
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/clones/v3/pools")
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/clones/v3/pool- Returns current pool TVL, swap volume, fees APR, price volatility, tick pressure, swap count, and unique users for recent time ranges./evm/uniswap/v3/pools- Returns a list of all Uniswap V3 liquidity pools, including token pairs, fee tiers, and creation timestamps./evm/aero/v3/pools- Returns a list of all Aerodrome V3 liquidity pools, including token pairs, fee tiers, and creation timestamps./evm/sushi/v3/pools- Returns a list of all SushiSwap V3 liquidity pools, including token pairs, fee tiers, and creation timestamps./evm/price-current- Returns current price of a token calculated based on Uniswap V3 and clones liquidity pools.