Cambrian Pool Info (Multi) API
GET /api/v1/solana/orca/pool-multi
Pool Info (Multi)
Get comprehensive overview metrics for multiple pools/pairs simultaneously within the same DEX. Returns pool details including price, volume, trades, and token information.
Business Value
- Multi-Pool Analysis: Query multiple pools in a single request to reduce API calls and improve performance
- Real-Time Metrics: Access up-to-date price, volume, and liquidity data for portfolio monitoring
- TVL Tracking: Monitor total value locked across multiple pools for investment analysis
- Fee Analytics: Track 24-hour fees and APR calculations for yield farming strategies
- Market Intelligence: Compare pool performance and volatility metrics across different trading pairs
Endpoint Details
URL:
https://opabinia.cambrian.network/api/v1/solana/orca/pool-multi
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
| Response Field | Type | Description |
|---|---|---|
| poolAddress | String | The unique address of the liquidity pool |
| createdAt | DateTime | Timestamp when the pool was created |
| token0Address | String | Address of the first token in the pair |
| token0Symbol | String | Symbol of the first token (e.g., SOL, USDC) |
| token0Decimals | UInt8 | Number of decimal places for token0 |
| token1Address | String | Address of the second token in the pair |
| token1Symbol | String | Symbol of the second token |
| token1Decimals | UInt8 | Number of decimal places for token1 |
| tickSpacing | Int32 | The spacing between ticks for price ranges |
| tokenVaultA | String | Address of the first token's vault |
| tokenVaultB | String | Address of the second token's vault |
| sqrtPriceX64 | UInt128 | Square root of the price multiplied by 2^64 |
| currentTick | Float64 | Current tick representing the price range |
| price | Float64 | Current price of token0 in terms of token1 |
| tvlToken0 | Float64 | Total value locked of token0 in the pool |
| tvlToken1 | Float64 | Total value locked of token1 in the pool |
| tvl | Float64 | Total value locked in USD |
| volume24h | Float64 | Trading volume in the last 24 hours |
| fees24hToken0 | Float64 | Fees collected in token0 over 24 hours |
| fees24hToken1 | Float64 | Fees collected in token1 over 24 hours |
| fees24h | Float64 | Total fees collected in USD over 24 hours |
| apr24h | Float64 | Annual percentage rate based on 24-hour fees |
| priceVolatility | Float64 | Price volatility metric |
| utilization24h | Float64 | Pool utilization percentage over 24 hours |
| factoryAddress | String | Address of the factory contract that created the pool |
| factoryName | String | Name of the DEX factory (e.g., Orca) |
Examples
1. Single Pool Query
Query metrics for a specific SOL-USDC pool on Orca DEX.
curl -X GET "https://opabinia.cambrian.network/api/v1/solana/orca/pool-multi?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",
6573214093908000097,
-20639.0,
126.97438282010526,
226622.234357624,
8362181.868968,
37203442.368208885,
139736414.01716423,
215.319600475,
28493.756252,
55894.57618675196,
54.83772202111595,
1.2846639156364288,
26.169166666666666,
"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",
"Orca"
]
],
"rows": 1
}
This returns comprehensive metrics for the SOL-USDC pool including current price ($126.97), total value locked ($37.2M), 24-hour volume ($139.7M), and fees generated.
2. Multiple Pool Query
Query metrics for multiple pools by providing comma-separated addresses.
curl -X GET "https://opabinia.cambrian.network/api/v1/solana/orca/pool-multi?pool_addresses=Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE,AnotherPoolAddress" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
{
"columns": [...],
"data": [
[...],
[...]
],
"rows": 2
}
Returns data for multiple pools in a single request, allowing efficient comparison of metrics across different trading pairs.
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://deep42.cambrian.network/api/v1/solana/orca/pool-multi"
);
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://deep42.cambrian.network/api/v1/solana/orca/pool-multi")
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–5 automatically.
Network: Base (chain ID 8453) | Currency: USDC | Price: $0.05 per request
Related Endpoints
/api/v1/solana/orca/pools- Retrieves a list of all Orca pools with static information/api/v1/solana/orca/pools/fee-metrics- Get core metrics like fees, volume, and TVL for a specific pool/api/v1/solana/orca/pools/historical-data- Retrieve historical daily fee and volume data for pools/api/v1/solana/orca/pools/liquidity-map- Get liquidity distribution across price ticks for pools/api/v1/solana/ohlcv/pool- Retrieve OHLCV data for individual pool contracts