Cambrian V2 - List Pools API
GET /api/v1/evm/aero/v2/pools
Aerodrome V2 Pools
Overview
Returns Aerodrome V2 liquidity pools on Base with summary metrics aggregated over the previous 7 completed UTC days. Each pool record includes token pair details, TVL, volume, fees, rewards, and APR breakdowns.
Business Value
- Pool Discovery: Browse all available Aerodrome V2 pools with complete token pair information and symbols
- TVL Analysis: Access real-time total value locked data for both tokens in each pool with USD valuations
- Yield Optimization: Compare APR across pools including swap fees, AERO rewards, and bribe incentives
- Volume Tracking: Monitor trading activity with 24h and 7-day volume metrics for investment decisions
- Risk Assessment: Evaluate pool health through TVL, volume, and fee generation metrics
Endpoint Details
URL:
https://api.cambrian.org/evm/aero/v2/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. Only 8453 (Base) is supported. |
| limit | integer | No | 100 | Limit the number of results. Maximum: 1000. |
| offset | integer | No | 0 | Offset the results, allows you to skip a number of rows before starting to return rows. Maximum: 100000. |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| poolId | String | Address of the Aerodrome V2 pool contract. |
| token0 | String | Contract address of the pool's first token. |
| token0Symbol | String | Symbol of the pool's first token. |
| token0Decimals | UInt8 | Decimal precision of the first token. |
| token1 | String | Contract address of the pool's second token. |
| token1Symbol | String | Symbol of the pool's second token. |
| token1Decimals | UInt8 | Decimal precision of the second token. |
| tvlToken0 | Float64 | Total value locked of token0, denominated in token0 units. |
| tvlToken1 | Float64 | Total value locked of token1, denominated in token1 units. |
| priceUsdToken0 | Nullable(Float64) | USD price of token0. Null if unavailable. |
| priceUsdToken1 | Nullable(Float64) | USD price of token1. Null if unavailable. |
| poolTvlUsd | Nullable(Float64) | Total value locked in the pool, denominated in USD. |
| volume24hUsd | Nullable(Float64) | Trading volume over the last 24 hours, in USD. |
| volume7dUsd | Nullable(Float64) | Trading volume over the last 7 completed UTC days, in USD. |
| fees7dUsd | Nullable(Float64) | Swap fees collected over the last 7 completed UTC days, in USD. |
| aeroRewards7dUsd | Nullable(Float64) | AERO emission rewards distributed over the last 7 completed UTC days, in USD. |
| bribes7dUsd | Nullable(Float64) | Bribe rewards paid to voters over the last 7 completed UTC days, in USD. |
| swapFeeApr7d | Nullable(Float64) | Annualized percentage rate derived from swap fees over the last 7 days. |
| aeroRewardApr7d | Nullable(Float64) | Annualized percentage rate derived from AERO emission rewards over the last 7 days. |
| bribeFeeApr7d | Nullable(Float64) | Annualized percentage rate derived from bribe rewards over the last 7 days. |
| totalApr7d | Nullable(Float64) | Combined annualized percentage rate (swap fees + AERO rewards + bribes) over the last 7 days. |
| createdAt | DateTime('UTC') | Timestamp when the pool was created. |
| tvlPriceComplete | UInt8 | Flag (1/0) indicating whether all tokens in the pool have a resolvable USD price for TVL calculation. |
| unpricedTokenAddresses | Array(String) | List of token addresses in the pool that lack a resolvable USD price. |
Examples
1. List Top Aerodrome V2 Pools
Retrieve the default set of Aerodrome V2 pools on Base with their 7-day summary metrics.
curl -X GET "https://api.cambrian.org/evm/aero/v2/pools" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{ "name": "poolId", "type": "String" },
{ "name": "token0", "type": "String" },
{ "name": "token0Symbol", "type": "String" },
{ "name": "token0Decimals", "type": "UInt8" },
{ "name": "token1", "type": "String" },
{ "name": "token1Symbol", "type": "String" },
{ "name": "token1Decimals", "type": "UInt8" },
{ "name": "tvlToken0", "type": "Float64" },
{ "name": "tvlToken1", "type": "Float64" },
{ "name": "priceUsdToken0", "type": "Nullable(Float64)" },
{ "name": "priceUsdToken1", "type": "Nullable(Float64)" },
{ "name": "poolTvlUsd", "type": "Nullable(Float64)" },
{ "name": "volume24hUsd", "type": "Nullable(Float64)" },
{ "name": "volume7dUsd", "type": "Nullable(Float64)" },
{ "name": "fees7dUsd", "type": "Nullable(Float64)" },
{ "name": "aeroRewards7dUsd", "type": "Nullable(Float64)" },
{ "name": "bribes7dUsd", "type": "Nullable(Float64)" },
{ "name": "swapFeeApr7d", "type": "Nullable(Float64)" },
{ "name": "aeroRewardApr7d", "type": "Nullable(Float64)" },
{ "name": "bribeFeeApr7d", "type": "Nullable(Float64)" },
{ "name": "totalApr7d", "type": "Nullable(Float64)" },
{ "name": "createdAt", "type": "DateTime('UTC')" },
{ "name": "tvlPriceComplete", "type": "UInt8" },
{ "name": "unpricedTokenAddresses", "type": "Array(String)" }
],
"data": [
[
"0x6cdcb1c4a4d1c3c6d054b27ac5b77e89eafb971d",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
6,
"0x940181a94a35a4569e4529a3cdfb74e38fd98631",
"AERO",
18,
12601279.199261,
30392701.917380873,
1,
0.41335875,
25164368.38,
1163798.73,
10127138.8,
30381.42,
95109.51,
null,
0.063,
0.1971,
null,
null,
"2023-09-07T22:50:45+00:00",
1,
[]
],
[
"0xde4fb30ccc2f1210fce2c8ad66410c586c8d1f9a",
"0x4200000000000000000000000000000000000006",
"WETH",
18,
"0x7ba6f01772924a82d9626c126347a28299e98c98",
"msETH",
18,
2116.64090057896,
7206.929065515169,
1873.11058738,
1348.95235501,
13686506.42,
40074.73,
7585256.48,
3792.63,
9521.67,
7242.67,
0.0144,
0.0363,
0.0276,
0.0783,
"2024-06-05T21:56:33+00:00",
1,
[]
]
],
"rows": 100
}
]
The response is returned in a columnar table format (columns + data rows). The top pool by TVL is the USDC/AERO pool with a 7-day total APR of 19.71%, followed by the WETH/msETH pool at 7.83% total APR. Note: this example response has been truncated to the first 10 rows for documentation purposes; the rows field reflects the true total (100) available with default pagination.
2. Paginate Through Results
Use limit and offset to page through the full pool list beyond the default page size.
curl -X GET "https://api.cambrian.org/evm/aero/v2/pools?limit=5&offset=10" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{ "name": "poolId", "type": "String" },
{ "name": "token0", "type": "String" },
{ "name": "token0Symbol", "type": "String" },
{ "name": "token0Decimals", "type": "UInt8" },
{ "name": "token1", "type": "String" },
{ "name": "token1Symbol", "type": "String" },
{ "name": "token1Decimals", "type": "UInt8" },
{ "name": "tvlToken0", "type": "Float64" },
{ "name": "tvlToken1", "type": "Float64" },
{ "name": "priceUsdToken0", "type": "Nullable(Float64)" },
{ "name": "priceUsdToken1", "type": "Nullable(Float64)" },
{ "name": "poolTvlUsd", "type": "Nullable(Float64)" },
{ "name": "volume24hUsd", "type": "Nullable(Float64)" },
{ "name": "volume7dUsd", "type": "Nullable(Float64)" },
{ "name": "fees7dUsd", "type": "Nullable(Float64)" },
{ "name": "aeroRewards7dUsd", "type": "Nullable(Float64)" },
{ "name": "bribes7dUsd", "type": "Nullable(Float64)" },
{ "name": "swapFeeApr7d", "type": "Nullable(Float64)" },
{ "name": "aeroRewardApr7d", "type": "Nullable(Float64)" },
{ "name": "bribeFeeApr7d", "type": "Nullable(Float64)" },
{ "name": "totalApr7d", "type": "Nullable(Float64)" },
{ "name": "createdAt", "type": "DateTime('UTC')" },
{ "name": "tvlPriceComplete", "type": "UInt8" },
{ "name": "unpricedTokenAddresses", "type": "Array(String)" }
],
"data": "... (see full response schema above; use offset=10 to retrieve rows 11-15 with limit=5)",
"rows": 100
}
]
Setting offset=10 with limit=5 skips the first 10 pools (already retrieved in Example 1) and returns the next 5, enabling efficient pagination across the full 100-row result set.
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/aero/v2/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/aero/v2/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/aero/v2/pool- Get information for a specific Aerodrome V2 pool./evm/aero/v2/pool-volume- Shows recent pool activity and hourly distribution./evm/aero/v2/fee-metrics- Shows fee metrics and daily historical data for the previous seven completed UTC days./evm/aero/v2/provider-summary- Provides Aerodrome V2 liquidity-provider summary and portfolio metrics./evm/aero/v3/pools- Returns a list of all Aerodrome V3 liquidity pools, including token pairs, fee tiers, and creation timestamps.