Cambrian V3 - Pool Info API

By Cambrian Network base

GET /api/v1/evm/sushi/v3/pool

GET /evm/sushi/v3/pool

Overview

Returns current pool TVL (Total Value Locked), Swap Volume, Fees APR (Annual Percentage Rate), Price volatility and mean adjusted volatility (percentage), Tick Pressure Per 1M$ Volume, Number of Swaps and Unique users for a Sushi V3 pool across recent time ranges (5 minutes, 1 hour, 1 day, 1 week, 1 month and 1 year).

Business Value

  • Pool Performance Analysis: Track key metrics like TVL, volume, and fees APR to evaluate individual pool performance across different timeframes
  • Liquidity Provider Insights: Monitor tick utilization and fee generation to optimize liquidity provision strategies and assess pool efficiency
  • Trading Activity Monitoring: Analyze swap counts and unique user metrics to understand pool usage patterns and market activity levels
  • Risk Assessment: Compare metrics across different time periods to identify trends, volatility patterns, and potential risks in specific pools
  • Portfolio Management: Make informed decisions about liquidity allocation by comparing performance metrics across different Sushi V3 pools

Endpoint Details

URL:

https://api.cambrian.org/evm/sushi/v3/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. Enum: 1, 8453, 42161, 4663
pool_address string Yes - Pool address with 0x prefix

Response Field Descriptions

Response Field Type Description
createdAt DateTime('UTC') Timestamp when the pool was created
token0Address String Contract address of token0
token0Symbol String Symbol of token0
token0Decimals UInt8 Decimal places of token0
token1Address String Contract address of token1
token1Symbol String Symbol of token1
token1Decimals UInt8 Decimal places of token1
feeTier UInt32 Pool fee tier
tickSpacing Int32 Tick spacing configured for the pool
currentLiquidity Int256 Current in-range liquidity of the pool
currentSqrtPriceX96 UInt256 Current pool price expressed as sqrtPriceX96
currentTick Int32 Current tick of the pool
currentPoolPrice Float64 Current pool price (token1 per token0)
poolTvlUsd Nullable(Float64) Current pool Total Value Locked in USD
swapVolumeUsd Map(String,Nullable(Float64)) Swap volume in USD keyed by time range (5 minute, 1 hour, 1 day, 1 week, 1 month, 1 year)
feeApr Map(String,Nullable(Float64)) Fee APR keyed by time range
priceVolatilityPct Map(String,Nullable(Float64)) Price volatility percentage keyed by time range
priceVolatilityAdjustedPct Map(String,Nullable(Float64)) Mean adjusted price volatility percentage keyed by time range
tickPressurePer1MUsd Map(String,Nullable(Float64)) Tick pressure per $1M of volume keyed by time range
swapCount Map(String,Nullable(UInt64)) Number of swaps keyed by time range
uniqueUserCount Map(String,Nullable(UInt64)) Number of unique users keyed by time range

Examples

1. Retrieve Pool Metrics by Address

Fetch current TVL, swap volume, fee APR, and volatility metrics for a specific Sushi V3 pool on Base (default chain).

curl -X GET "https://api.cambrian.org/evm/sushi/v3/pool?pool_address=0x57713f7716e0b0f65ec116912f834e49805480d2" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response:

[
  {
    "columns": [
      {
        "name": "createdAt",
        "type": "DateTime('UTC')"
      },
      {
        "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": "feeTier",
        "type": "UInt32"
      },
      {
        "name": "tickSpacing",
        "type": "Int32"
      },
      {
        "name": "currentLiquidity",
        "type": "Int256"
      },
      {
        "name": "currentSqrtPriceX96",
        "type": "UInt256"
      },
      {
        "name": "currentTick",
        "type": "Int32"
      },
      {
        "name": "currentPoolPrice",
        "type": "Float64"
      },
      {
        "name": "poolTvlUsd",
        "type": "Nullable(Float64)"
      },
      {
        "name": "swapVolumeUsd",
        "type": "Map(String,Nullable(Float64))"
      },
      {
        "name": "feeApr",
        "type": "Map(String,Nullable(Float64))"
      },
      {
        "name": "priceVolatilityPct",
        "type": "Map(String,Nullable(Float64))"
      },
      {
        "name": "priceVolatilityAdjustedPct",
        "type": "Map(String,Nullable(Float64))"
      },
      {
        "name": "tickPressurePer1MUsd",
        "type": "Map(String,Nullable(Float64))"
      },
      {
        "name": "swapCount",
        "type": "Map(String,Nullable(UInt64))"
      },
      {
        "name": "uniqueUserCount",
        "type": "Map(String,Nullable(UInt64))"
      }
    ],
    "data": [
      [
        "2023-12-23T13:09:57+00:00",
        "0x4200000000000000000000000000000000000006",
        "WETH",
        18,
        "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "USDC",
        6,
        500,
        10,
        "3611791071642767",
        "4089000287172068565036292",
        -197446,
        2663.637464123924,
        91211.58486036219,
        {
          "1 day": 56340.47964100588,
          "1 hour": 6456.0485660293925,
          "1 month": 2963747.675263228,
          "1 week": 678043.5713484052,
          "1 year": 99507662.89809793,
          "5 minute": 355.55655634617267
        },
        {
          "1 day": 0.11272841657367014,
          "1 hour": 0.31002084617320674,
          "1 month": 0.19495863468223873,
          "1 week": 0.1932773439037087,
          "1 year": 0.5454771071593394,
          "5 minute": 0.2048868313182452
        },
        {
          "1 day": 0.014454011607570075,
          "1 hour": 0.005107157516298808,
          "1 month": 0.07587978653910342,
          "1 week": 0.035584610292270336,
          "1 year": 0.3742739250256074,
          "5 minute": 0.0009904457092810995
        },
        {
          "1 day": 0.00028535629373759546,
          "1 hour": 0.0003638574290163088,
          "1 month": 0.0002551177399939266,
          "1 week": 0.0002322785453390262,
          "1 year": 0.00024608017779972116,
          "5 minute": 0.0002448773989701528
        },
        {
          "1 day": 10282.127587326613,
          "1 hour": 8116.419736325979,
          "1 month": 5533.365791183106,
          "1 week": 6544.417184245953,
          "1 year": 2894.110781145728,
          "5 minute": 10687.469917726085
        },
        {
          "1 day": 2562,
          "1 hour": 197,
          "1 month": 88464,
          "1 week": 23461,
          "1 year": 2313266,
          "5 minute": 16
        },
        {
          "1 day": 50,
          "1 hour": 21,
          "5 minute": 3
        }
      ]
    ],
    "rows": 1
  }
]

Note: Result collections are limited to 10 items.

This example returns the WETH/USDC 0.05% fee tier pool on Base, showing a current TVL of ~$91,211, 1-day swap volume of ~$56,340, and a 1-day fee APR of ~11.3%. Volatility and tick pressure metrics are broken down across all six supported time ranges, and uniqueUserCount only contains entries for time ranges with observed unique users (1 day, 1 hour, 5 minute in this sample).

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/sushi/v3/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/sushi/v3/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 through 5 automatically.

Network: Base (chain ID 8453) | Currency: USDC | Price: $0.05 per request