Cambrian V2 - Pool Volume API

By Cambrian Network evm

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

V2 - Pool Volume

Overview

Returns recent trading activity for a specific Aerodrome V2 pool, including total volume, swap counts, hourly volume distribution, per-token volume breakdown, and the largest recent swaps. USD-denominated fields are null when a pool-token price is unavailable.

Business Value

  • Real-time Trading Analytics: Monitor pool activity and trading patterns in real-time for informed decision making
  • Volume Trend Analysis: Track hourly volume patterns to identify peak trading times and market activity cycles
  • Liquidity Pool Performance: Assess pool health through swap counts, average transaction sizes, and volume changes
  • Large Transaction Monitoring: Identify significant trades and their impact on pool dynamics
  • Cross-Token Volume Insights: Understand directional trading flows between token pairs within the pool

Endpoint Details

URL:

https://api.cambrian.org/evm/aero/v2/pool-volume

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: 8453
pool_address string Yes - Pool address with 0x prefix

Response Field Descriptions

Response Field Type Description
poolId String Pool address with 0x prefix
timeframeAt String Timeframe label for the reported volume window (e.g. "24h")
volumeUsd Nullable(Float64) Total swap volume in USD over the timeframe; null when a pool-token price is unavailable
volumeToken0 String Total swap volume denominated in token0 units
volumeToken1 String Total swap volume denominated in token1 units
volumeChange Nullable(Float64) Percentage change in volume versus the prior equivalent period
swapCount UInt64 Number of swaps executed during the timeframe
averageSwapSize Nullable(Float64) Average swap size in USD; null when a pool-token price is unavailable
volumeByHour Array(Map(String,Nullable(String))) Hourly breakdown of swap activity, each entry containing swapCount, timestamp, and volumeUsd
volumeByToken Map(String,Nullable(String)) Directional volume breakdown between token0 and token1, including percentages and converted amounts
largestSwaps Array(Map(String,Nullable(String))) List of the largest recent swaps, each containing amountToken0, amountToken1, amountUsd, timestamp, txHash, and type
updatedAt UInt32 Unix timestamp of when the data was last updated
tvlPriceComplete UInt8 Flag indicating whether all prices needed for valuation are available (1) or not (0)

Examples

1. Retrieve recent volume activity for an Aerodrome V2 pool

Fetches recent pool activity, including hourly volume distribution and the largest recent swaps, for a specific Aerodrome V2 pool.

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

Response:

[
  {
    "columns": [
      {
        "name": "poolId",
        "type": "String"
      },
      {
        "name": "timeframeAt",
        "type": "String"
      },
      {
        "name": "volumeUsd",
        "type": "Nullable(Float64)"
      },
      {
        "name": "volumeToken0",
        "type": "String"
      },
      {
        "name": "volumeToken1",
        "type": "String"
      },
      {
        "name": "volumeChange",
        "type": "Nullable(Float64)"
      },
      {
        "name": "swapCount",
        "type": "UInt64"
      },
      {
        "name": "averageSwapSize",
        "type": "Nullable(Float64)"
      },
      {
        "name": "volumeByHour",
        "type": "Array(Map(String,Nullable(String)))"
      },
      {
        "name": "volumeByToken",
        "type": "Map(String,Nullable(String))"
      },
      {
        "name": "largestSwaps",
        "type": "Array(Map(String,Nullable(String)))"
      },
      {
        "name": "updatedAt",
        "type": "UInt32"
      },
      {
        "name": "tvlPriceComplete",
        "type": "UInt8"
      }
    ],
    "data": [
      [
        "0x6cdcb1c4a4d1c3c6d054b27ac5b77e89eafb971d",
        "24h",
        1106569.559754,
        "1098226.305408",
        "2647525.1171569736",
        -9.001126,
        2103,
        526.186191,
        [
          {
            "swapCount": "91",
            "timestamp": "1785844800",
            "volumeUsd": "53297.28152"
          },
          {
            "swapCount": "108",
            "timestamp": "1785848400",
            "volumeUsd": "74018.733603"
          },
          {
            "swapCount": "120",
            "timestamp": "1785852000",
            "volumeUsd": "84188.153718"
          },
          {
            "swapCount": "96",
            "timestamp": "1785855600",
            "volumeUsd": "45376.629463"
          },
          {
            "swapCount": "86",
            "timestamp": "1785859200",
            "volumeUsd": "49637.697251"
          },
          {
            "swapCount": "77",
            "timestamp": "1785862800",
            "volumeUsd": "33752.630014"
          },
          {
            "swapCount": "88",
            "timestamp": "1785866400",
            "volumeUsd": "25602.388183"
          },
          {
            "swapCount": "117",
            "timestamp": "1785870000",
            "volumeUsd": "72146.605551"
          },
          {
            "swapCount": "112",
            "timestamp": "1785873600",
            "volumeUsd": "58741.002662"
          },
          {
            "swapCount": "52",
            "timestamp": "1785877200",
            "volumeUsd": "5231.220695"
          }
        ],
        {
          "token0Percentage": "0.545155",
          "token0ToToken1": "603252.179332",
          "token1Percentage": "0.454845",
          "token1ToToken0": "503317.380422"
        },
        [
          {
            "amountToken0": "10962.600648",
            "amountToken1": "26011.94969148394",
            "amountUsd": "10962.600648",
            "timestamp": "1785908307",
            "txHash": "0x1b7b96bd1eb439133b8366e52c53b4e19efe8c9328d23dfd46f22c989cfe0331",
            "type": "token0ToToken1"
          },
          {
            "amountToken0": "10157.903789",
            "amountToken1": "24218.23997559632",
            "amountUsd": "10157.903789",
            "timestamp": "1785908289",
            "txHash": "0x66fdb4b34850fee90e6691ca2f66514848ffb1e4bbcbdaf84db2410401515890",
            "type": "token0ToToken1"
          },
          {
            "amountToken0": "8574.462363",
            "amountToken1": "20879.98949338514",
            "amountUsd": "8768.939905",
            "timestamp": "1785845841",
            "txHash": "0x375beb7b08808dd5b431d7aa03b11f1b0dccea5827a79eb9d62808080a7ab52e",
            "type": "token1ToToken0"
          },
          {
            "amountToken0": "8493.802303",
            "amountToken1": "20554.205433610492",
            "amountUsd": "8632.12083",
            "timestamp": "1785886735",
            "txHash": "0x06c1183b09a2ba0232f5b9e4692269ff289e652ae7570f014f2037eb966563fc",
            "type": "token1ToToken0"
          },
          {
            "amountToken0": "8574.462363",
            "amountToken1": "20554.205433610492",
            "amountUsd": "8574.462363",
            "timestamp": "1785872543",
            "txHash": "0x648e7b99dedbd76ea4b4436b0dbede396e497d2cc71b786115657073fa9b8c2a",
            "type": "token0ToToken1"
          },
          {
            "amountToken0": "8493.802303",
            "amountToken1": "20220.993864243097",
            "amountUsd": "8493.802303",
            "timestamp": "1785908295",
            "txHash": "0xbddb78ea6636f3e76b7f4b043f859aa291d8f6da9e990f547f5b5eae93233344",
            "type": "token0ToToken1"
          },
          {
            "amountToken0": "6925.090793",
            "amountToken1": "16957.17630494124",
            "amountUsd": "7121.481551",
            "timestamp": "1785851219",
            "txHash": "0xff120a99aa73cd2e5048811a3d51e7720d9b392804e6f111888ef7d14494296a",
            "type": "token1ToToken0"
          },
          {
            "amountToken0": "6246.678857",
            "amountToken1": "14907.97619626249",
            "amountUsd": "6246.678857",
            "timestamp": "1785908289",
            "txHash": "0x6c67a2a6f40ea1ebd9d5822777f419960a859d4bae5a27add55a2563cfd051fe",
            "type": "token0ToToken1"
          },
          {
            "amountToken0": "5708.470588",
            "amountToken1": "13547.10621033063",
            "amountUsd": "5708.470588",
            "timestamp": "1785912069",
            "txHash": "0xd602d3bdc737b3b9191a660d6948336e0cd6ab85b2eaa6c35cfd24506712521f",
            "type": "token0ToToken1"
          },
          {
            "amountToken0": "5626.079852",
            "amountToken1": "13469.27111617974",
            "amountUsd": "5626.079852",
            "timestamp": "1785908275",
            "txHash": "0xdc6de225131413aee2a913818eab4011e339482d96373cdc401d89741574b777",
            "type": "token0ToToken1"
          }
        ],
        1785928500,
        1
      ]
    ],
    "rows": 1
  }
]

Result collections such as volumeByHour and largestSwaps are limited to 10 items each.

x402 Payment Option

This endpoint supports pay-per-use access via the x402 payment protocol (v2), paying $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-volume"
);
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-volume")
        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 through 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.
  • /evm/aero/v2/pool - Get information for a specific Aerodrome V2 pool.
  • /evm/aero/v2/pools - Returns liquidity pools with summary metrics for the previous 7 completed UTC days.
  • /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 related metrics.