Cambrian V2 - Pool Info API

By Cambrian Network base

GET /api/v1/evm/aero/v2/pool

Aerodrome V2 Pool Info

Overview

Returns detailed information for a specific Aerodrome V2 liquidity pool on Base, including token reserves, TVL, and USD-denominated fees, rewards, bribes, and APR breakdowns. USD prices, valuations, and APRs are null when a required token price is unavailable.

Business Value

  • Pool Analytics: Access detailed metrics including TVL, reserves, and APR to analyze pool performance and profitability
  • Risk Assessment: Evaluate pool composition with token balances, prices, and reserve ratios for informed investment decisions
  • Yield Optimization: Compare APR breakdowns (swap fees, rewards, bribes) to identify highest-yielding liquidity opportunities
  • Portfolio Management: Monitor pool positions with real-time pricing and reserve data for active liquidity management
  • Trading Intelligence: Understand pool depth and composition to optimize trade execution and slippage management

Endpoint Details

URL:

https://api.cambrian.org/evm/aero/v2/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. Only 8453 (Base) is supported.
pool_address string Yes - Pool address with 0x prefix, e.g. 0x6cdcb1c4a4d1c3c6d054b27ac5b77e89eafb971d.
apr_days_annualized integer Yes - Number of previous completed UTC days to calculate APR from (1-30). 7 annualizes activity from the previous 7 completed UTC days.

Response Field Descriptions

Response Field Type Description
poolAddress String Address of the liquidity pool.
token0Address String Contract address of token0 in the pair.
token0Symbol String Symbol of token0.
token0Name String Name of token0.
token0Decimals UInt8 Decimal precision of token0.
token1Address String Contract address of token1 in the pair.
token1Symbol String Symbol of token1.
token1Name String Name of token1.
token1Decimals UInt8 Decimal precision of token1.
reserve0 Int256 Raw on-chain reserve of token0 (in token0's smallest unit).
reserve1 Int256 Raw on-chain reserve of token1 (in token1's smallest unit).
tvlToken0 Float64 Reserve of token0 adjusted for decimals.
tvlToken1 Float64 Reserve of token1 adjusted for decimals.
token0PriceUsd Nullable(Float64) USD price of token0. Null when unavailable.
token1PriceUsd Nullable(Float64) USD price of token1. Null when unavailable.
tvlUsd Nullable(Float64) Total value locked in USD. Null when a required token price is unavailable.
feesXdUsd Nullable(Float64) Swap fees earned in USD over the annualization window. Null when a required price is unavailable.
aeroRewardsXdUsd Nullable(Float64) AERO emission rewards earned in USD over the annualization window. Null when a required price is unavailable.
bribesXdUsd Nullable(Float64) Bribe rewards earned in USD over the annualization window. Null when a required price is unavailable.
swapFeeAPR Nullable(Float64) Annualized percentage return from swap fees. Null when a required price is unavailable.
aeroRewardAPR Nullable(Float64) Annualized percentage return from AERO emission rewards. Null when a required price is unavailable.
bribeFeeAPR Nullable(Float64) Annualized percentage return from bribes. Null when a required price is unavailable.
totalAPR Nullable(Float64) Combined annualized percentage return across swap fees, AERO rewards, and bribes. Null when a required price is unavailable.
calculationTimestampAt UInt32 Unix timestamp when the calculation was performed.
baseCurrency String Currency used for USD-denominated fields (e.g. "Usd").
createdAt DateTime('UTC') Timestamp when the pool was created.
tvlPriceComplete UInt8 1 if all tokens in the pool have complete pricing data, 0 otherwise.
unpricedTokenAddresses Array(String) Addresses of tokens in the pool lacking price data, if any.

Examples

1. 7-Day Annualized Pool APR

Fetch pool details for the USDC/AERO pool on Base, annualizing APR from the previous 7 completed UTC days.

curl -X GET "https://api.cambrian.org/evm/aero/v2/pool?chain_id=8453&pool_address=0x6cdcb1c4a4d1c3c6d054b27ac5b77e89eafb971d&apr_days_annualized=7" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response:

[
  {
    "columns": [
      {"name": "poolAddress", "type": "String"},
      {"name": "token0Address", "type": "String"},
      {"name": "token0Symbol", "type": "String"},
      {"name": "token0Name", "type": "String"},
      {"name": "token0Decimals", "type": "UInt8"},
      {"name": "token1Address", "type": "String"},
      {"name": "token1Symbol", "type": "String"},
      {"name": "token1Name", "type": "String"},
      {"name": "token1Decimals", "type": "UInt8"},
      {"name": "reserve0", "type": "Int256"},
      {"name": "reserve1", "type": "Int256"},
      {"name": "tvlToken0", "type": "Float64"},
      {"name": "tvlToken1", "type": "Float64"},
      {"name": "token0PriceUsd", "type": "Nullable(Float64)"},
      {"name": "token1PriceUsd", "type": "Nullable(Float64)"},
      {"name": "tvlUsd", "type": "Nullable(Float64)"},
      {"name": "feesXdUsd", "type": "Nullable(Float64)"},
      {"name": "aeroRewardsXdUsd", "type": "Nullable(Float64)"},
      {"name": "bribesXdUsd", "type": "Nullable(Float64)"},
      {"name": "swapFeeAPR", "type": "Nullable(Float64)"},
      {"name": "aeroRewardAPR", "type": "Nullable(Float64)"},
      {"name": "bribeFeeAPR", "type": "Nullable(Float64)"},
      {"name": "totalAPR", "type": "Nullable(Float64)"},
      {"name": "calculationTimestampAt", "type": "UInt32"},
      {"name": "baseCurrency", "type": "String"},
      {"name": "createdAt", "type": "DateTime('UTC')"},
      {"name": "tvlPriceComplete", "type": "UInt8"},
      {"name": "unpricedTokenAddresses", "type": "Array(String)"}
    ],
    "data": [
      [
        "0x6cdcb1c4a4d1c3c6d054b27ac5b77e89eafb971d",
        "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "USDC",
        "USD Coin",
        6,
        "0x940181a94a35a4569e4529a3cdfb74e38fd98631",
        "AERO",
        "Aerodrome",
        18,
        "12601279199261",
        "30392701917380872686694266",
        12601279.199261,
        30392701.917380873,
        1,
        0.41335875,
        25164368.38,
        30381.42,
        95109.51,
        null,
        0.063,
        0.1971,
        null,
        null,
        1785883500,
        "Usd",
        "2023-09-07T22:50:45+00:00",
        1,
        []
      ]
    ],
    "rows": 1
  }
]

This example annualizes fee and reward activity from the previous 7 completed UTC days. The pool holds ~$25.16M TVL, with swapFeeAPR null (unpriced in this window) while aeroRewardAPR is 6.3%. bribeFeeAPR and totalAPR are null here because at least one required component price was unavailable.

2. 30-Day Annualized Pool APR

Fetch the same pool but annualize APR over the previous 30 completed UTC days to smooth out short-term volatility.

curl -X GET "https://api.cambrian.org/evm/aero/v2/pool?chain_id=8453&pool_address=0x6cdcb1c4a4d1c3c6d054b27ac5b77e89eafb971d&apr_days_annualized=30" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response:

[
  {
    "columns": [
      {"name": "poolAddress", "type": "String"},
      {"name": "token0Address", "type": "String"},
      {"name": "token0Symbol", "type": "String"},
      {"name": "token0Name", "type": "String"},
      {"name": "token0Decimals", "type": "UInt8"},
      {"name": "token1Address", "type": "String"},
      {"name": "token1Symbol", "type": "String"},
      {"name": "token1Name", "type": "String"},
      {"name": "token1Decimals", "type": "UInt8"},
      {"name": "reserve0", "type": "Int256"},
      {"name": "reserve1", "type": "Int256"},
      {"name": "tvlToken0", "type": "Float64"},
      {"name": "tvlToken1", "type": "Float64"},
      {"name": "token0PriceUsd", "type": "Nullable(Float64)"},
      {"name": "token1PriceUsd", "type": "Nullable(Float64)"},
      {"name": "tvlUsd", "type": "Nullable(Float64)"},
      {"name": "feesXdUsd", "type": "Nullable(Float64)"},
      {"name": "aeroRewardsXdUsd", "type": "Nullable(Float64)"},
      {"name": "bribesXdUsd", "type": "Nullable(Float64)"},
      {"name": "swapFeeAPR", "type": "Nullable(Float64)"},
      {"name": "aeroRewardAPR", "type": "Nullable(Float64)"},
      {"name": "bribeFeeAPR", "type": "Nullable(Float64)"},
      {"name": "totalAPR", "type": "Nullable(Float64)"},
      {"name": "calculationTimestampAt", "type": "UInt32"},
      {"name": "baseCurrency", "type": "String"},
      {"name": "createdAt", "type": "DateTime('UTC')"},
      {"name": "tvlPriceComplete", "type": "UInt8"},
      {"name": "unpricedTokenAddresses", "type": "Array(String)"}
    ],
    "data": [
      [
        "0x6cdcb1c4a4d1c3c6d054b27ac5b77e89eafb971d",
        "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "USDC",
        "USD Coin",
        6,
        "0x940181a94a35a4569e4529a3cdfb74e38fd98631",
        "AERO",
        "Aerodrome",
        18,
        "12601279199261",
        "30392701917380872686694266",
        12601279.199261,
        30392701.917380873,
        1,
        0.41335875,
        25164368.38,
        199216.55,
        489954.63,
        null,
        0.0963,
        0.2369,
        null,
        null,
        1785883500,
        "Usd",
        "2023-09-07T22:50:45+00:00",
        1,
        []
      ]
    ],
    "rows": 1
  }
]

Over the 30-day window, cumulative feesXdUsd ($199,216.55) and aeroRewardsXdUsd ($489,954.63) are larger since they cover more activity, and aeroRewardAPR rises to 9.63%. TVL and reserves remain the same because they reflect the current pool state, independent of the annualization window.

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/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/aero/v2/pool")
        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/fee-metrics - Shows fee metrics and daily historical data for the previous seven completed UTC days. Usd fields are null when a pool-token price is unavailable.
  • /evm/aero/v2/pool-volume - Shows recent pool activity and hourly distribution. Usd fields are null when a pool-token price is unavailable.
  • /evm/aero/v2/pools - Returns liquidity pools with summary metrics for the previous 7 completed UTC days. Usd prices, valuations, and APRs are null when a required price is unavailable.
  • /evm/aero/v2/provider-summary - Provides Aerodrome V2 liquidity-provider summary and portfolio metrics.
  • /evm/aero/v3/pool - Returns current pool TVL, Swap Volume, Price volatility and other metrics for recent time ranges.