Cambrian Pool Info API
GET /api/v1/solana/orca/pool
Pool Info (Multi)
Overview
Retrieves comprehensive overview metrics for one or more Orca Whirlpool pools in a single request. For each requested pool, the endpoint returns pricing, liquidity, volume, fee, and token metadata sourced from the pre-calculated pool details view.
Business Value
- Pool Analysis: Access comprehensive pool data for liquidity providers and traders
- Trading Intelligence: Monitor pool state and configuration for informed trading decisions
- Portfolio Management: Track pool performance and composition for investment strategies
- DeFi Integration: Enable seamless integration with Orca DEX functionality
- Risk Assessment: Evaluate pool parameters and liquidity for risk management
Endpoint Details
URL:
https://api.cambrian.org/solana/orca/pool
Method: GET
Authentication: Required via X-API-Key header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| pool_addresses | string | Yes | - | Comma-separated pool addresses within the same DEX. Example: addr1,addr2,addr3 |
Response Field Descriptions
The response is a columnar table result. Each requested pool address returns one row with the following fields (from columns[].name):
| Response Field | Type | Description |
|---|---|---|
| poolAddress | String | Pool contract address (program ID) |
| createdAt | DateTime('UTC') | Timestamp when the pool was created |
| token0Address | String | Mint address of token0 |
| token0Symbol | String | Symbol of token0 |
| token0Decimals | UInt8 | Decimal precision of token0 |
| token1Address | String | Mint address of token1 |
| token1Symbol | String | Symbol of token1 |
| token1Decimals | UInt8 | Decimal precision of token1 |
| tickSpacing | Int32 | Tick spacing configured for the pool |
| tokenVaultA | String | Token vault address holding token0 |
| tokenVaultB | String | Token vault address holding token1 |
| sqrtPriceX64 | UInt128 | Current square-root price in X64 fixed-point format |
| currentTick | Nullable(Float64) | Current tick index of the pool |
| price | Nullable(Float64) | Current price of token0 denominated in token1 |
| tvlToken0 | Nullable(Float64) | Total value locked expressed in token0 units |
| tvlToken1 | Nullable(Float64) | Total value locked expressed in token1 units |
| tvl | Nullable(Float64) | Total value locked in USD |
| volume24h | Nullable(Float64) | Trading volume in USD over the last 24 hours |
| fees24hToken0 | Nullable(Float64) | Fees collected in token0 over the last 24 hours |
| fees24hToken1 | Nullable(Float64) | Fees collected in token1 over the last 24 hours |
| fees24h | Nullable(Float64) | Total fees collected in USD over the last 24 hours |
| apr24h | Nullable(Float64) | Annualized fee APR based on the last 24 hours |
| priceVolatility | Nullable(Float64) | Price volatility metric over the observed window |
| utilization24h | Nullable(Float64) | Liquidity utilization percentage over the last 24 hours |
| factoryAddress | String | Address of the Whirlpool program/factory that created the pool |
| factoryName | String | Name of the DEX factory (e.g. "Orca") |
Examples
1. Retrieve metrics for a single Orca pool
This example queries the SOL/USDC Orca Whirlpool for its current price, TVL, volume, and fee metrics.
curl -X GET "https://api.cambrian.org/solana/orca/pool?pool_addresses=Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{
"name": "poolAddress",
"type": "String"
},
{
"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": "tickSpacing",
"type": "Int32"
},
{
"name": "tokenVaultA",
"type": "String"
},
{
"name": "tokenVaultB",
"type": "String"
},
{
"name": "sqrtPriceX64",
"type": "UInt128"
},
{
"name": "currentTick",
"type": "Nullable(Float64)"
},
{
"name": "price",
"type": "Nullable(Float64)"
},
{
"name": "tvlToken0",
"type": "Nullable(Float64)"
},
{
"name": "tvlToken1",
"type": "Nullable(Float64)"
},
{
"name": "tvl",
"type": "Nullable(Float64)"
},
{
"name": "volume24h",
"type": "Nullable(Float64)"
},
{
"name": "fees24hToken0",
"type": "Nullable(Float64)"
},
{
"name": "fees24hToken1",
"type": "Nullable(Float64)"
},
{
"name": "fees24h",
"type": "Nullable(Float64)"
},
{
"name": "apr24h",
"type": "Nullable(Float64)"
},
{
"name": "priceVolatility",
"type": "Nullable(Float64)"
},
{
"name": "utilization24h",
"type": "Nullable(Float64)"
},
{
"name": "factoryAddress",
"type": "String"
},
{
"name": "factoryName",
"type": "String"
}
],
"data": [
[
"Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE",
"2023-06-30T06:20:58+00:00",
"So11111111111111111111111111111111111111112",
"SOL",
9,
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"USDC",
6,
4,
"EUuUbDcafPrmVTD5M6qoJAoyyNbihBhugADAxRMn5he9",
"2WLWEuKDgkDUccTpbwYp1GToYktiSB1cXvreHUwiSUVP",
5848524942348921000,
-22976,
100.52017772999893,
106251.8177087,
14458065.399568,
25178142.324406184,
373835068.28368795,
738.52781677,
75019.209557,
149534.06363429173,
216.77506038088424,
2.6519689873337233,
50.148333333333326,
"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",
"Orca"
]
],
"rows": 1
}
]
Note: Result collections are limited to 10 items.
This result shows the SOL/USDC Orca Whirlpool with a current price of ~100.52 USDC per SOL, ~$373.8M TVL, ~$25.18M in 24h volume, and a 24h fee APR of ~2.65%.
x402 Payment Option
This endpoint supports pay-per-use access via the x402 payment protocol (v2), using blockchain micropayments to pay $0.05 USDC per request. 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/solana/orca/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/solana/orca/pool")
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 through 5 automatically.
Network: Base (chain ID 8453) | Currency: USDC | Price: $0.05 per request