Cambrian V2 - List Pools API

By Cambrian Network base

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

  1. Send a normal request to the endpoint (no API key needed)
  2. Server returns 402 Payment Required with payment details
  3. The x402 SDK automatically signs a payment authorization with your wallet
  4. The SDK resubmits the request with the signed payment
  5. 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.