Cambrian List Pools API

By Cambrian Network solana

GET /api/v1/solana/orca/pools

List Pools (Orca)

Overview

Retrieves a list of all Orca pools registered in the backend database (orca_pool_registry_target). It provides essential static information about each pool, including the token pair, decimals, tick spacing, and vault addresses.

Business Value

  • Pool Discovery: Access a complete registry of all available Orca liquidity pools for market analysis and trading strategy development
  • Token Pair Analysis: Identify trading pairs and their configurations to understand market opportunities and liquidity distribution
  • Integration Support: Obtain essential pool metadata needed for DeFi applications, trading bots, and portfolio management tools
  • Market Research: Analyze the Orca ecosystem structure and track pool creation patterns over time
  • Risk Assessment: Evaluate pool characteristics and token configurations for informed investment decisions

Endpoint Details

URL:

https://api.cambrian.org/solana/orca/pools

Method: GET
Authentication: Required via X-API-Key header

Query Parameters

Parameter Type Required Default Description
dex string (enum: orca) Yes - The Decentralized Exchange (DEX) name. Must be orca for this endpoint.
limit integer No 100 Limit the number of results. Minimum 1, maximum 1000.
offset integer No 0 Offset the results, allows you to skip a number of rows before starting to return rows. Minimum 0, maximum 100000.

Response Field Descriptions

Response Field Type Description
poolAddress String The address (public key) of the Orca Whirlpool.
createdAt DateTime('UTC') Timestamp of when the pool was created, in UTC.
token0Address String Mint address of the pool's first token (token0).
token0Symbol String Symbol of token0.
token0Decimals UInt8 Number of decimals for token0.
token1Address String Mint address of the pool's second token (token1).
token1Symbol String Symbol of token1.
token1Decimals UInt8 Number of decimals for token1.
tickSpacing Int32 The tick spacing configured for this Whirlpool, which determines granularity of price ranges.
tokenVaultA String Address of the vault account holding token0 reserves.
tokenVaultB String Address of the vault account holding token1 reserves.

Examples

1. List Orca Pools

Retrieve a list of Orca pools, limited to 10 results.

curl -X GET "https://api.cambrian.org/solana/orca/pools?dex=orca&limit=10" \
  -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"
      }
    ],
    "data": [
      [
        "122FD4qsy8zkKqW9J2cZmjTN9hPjP8aE6D2GowFURr71",
        "2024-04-19T12:30:25+00:00",
        "So11111111111111111111111111111111111111112",
        "SOL",
        9,
        "7XhEZLWYfJmShx3f2gJTTwFvWFmbgVpZHAp2fozqUg8E",
        "FONG",
        9,
        2,
        "2W6e7m3FKUEKVyuWa86GNgVRbjKAqypQSmXxW7HWTQm3",
        "DsFL1aHUWBUedEXcNfV8BzLmi94GYw6VxSkdWTGNZerc"
      ],
      [
        "126kcp6vLs176v9DkU2q1iBy5jUEMGZRzxpkJeQdcmDo",
        "2026-07-21T09:21:40+00:00",
        "BetPYFm1iEEPNsYeBXQiCae3cKALa9a1RnEK6bniBMDv",
        "Ash",
        9,
        "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
        "USDT",
        6,
        32896,
        "2y1rKeq4p1UbTdCC8ZEuUebmkDFKs7i7YqAXfcQFENYh",
        "8UHpHM4McFNMxgLqEXQ2uCyzSJTvPY959826uSFQ25iN"
      ],
      [
        "12BgjwjLMbodFq3gCYW9cMeyRy9z3eL86kcQ7PiPfUyb",
        "2024-03-12T22:24:39+00:00",
        "So11111111111111111111111111111111111111112",
        "SOL",
        9,
        "4fvS25Zyq9di8VgQtH4o8MrNzDnKuma3Z8fTgwXd1VMx",
        "OPPY",
        6,
        128,
        "36q2sHd31tPYuL8Yhm3wYMwX5cEBpHJYbhhZ5i5TLJjT",
        "7tN6zCdNotfmpY2mKDhgMLVibKvbbyUqcLsjvvqbvotw"
      ],
      [
        "12SgZ1auKJgtyLXgW4Nc5wVzstVStfoQxe6ZXFi5gb3W",
        "2024-05-13T08:55:47+00:00",
        "So11111111111111111111111111111111111111112",
        "SOL",
        9,
        "AXNg5aNK3jkJCiMn5Av6yCRrULfwFjvHCBxC27KESxma",
        "Hello",
        6,
        1,
        "GNFjDNoQrGZSZS77KZKicrdnc6Wn5H1hAFFqdWTcdGeq",
        "E8YBCrGfFVXEwam9wEAJMvd49eCGKHtewDmK6xnMWZnE"
      ],
      [
        "12aGZp2Q3TaPMouLXGYVZWKUUJdCth2wxS1NVMDRFj8k",
        "2024-06-02T23:14:05+00:00",
        "So11111111111111111111111111111111111111112",
        "SOL",
        9,
        "7gbEP2TAy5wM3TmMp5utCrRvdJ3FFqYjgN5KDpXiWPmo",
        "DEVIN",
        6,
        128,
        "ATZpzBQPdMpPnwXhWxJJU4ALWVLFjJAc4zwzAk8kazmr",
        "DoyucsR2wV9U8UZMcDJikZ5JFY2R3aXvdnLG8M34mzwB"
      ],
      [
        "12bDxpetQ7E1NCn2HQzby2eX6tUYaBFwBh2X5RL4XkBA",
        "2024-05-11T04:26:25+00:00",
        "So11111111111111111111111111111111111111112",
        "SOL",
        9,
        "7RoVuYRxfBeH9fwHrx8LeLte4uJLBM52UmF4nyh4tNiQ",
        "$smiski",
        6,
        128,
        "513tz7Vu847pd4EbezPmMN8uPy4WdgTSMXefvmBF4T7o",
        "H9u5JGqqcijw3vtka9Fz3mTSwRBs2CsAmWe8TxtanjcT"
      ],
      [
        "12eDHn6LTCP78UuhLb3fHRhEnHDoJzccLoixdefkFNtf",
        "2024-02-26T15:20:01+00:00",
        "So11111111111111111111111111111111111111112",
        "SOL",
        9,
        "D8c8hnr9rWgJZX9QntWHTpw8gkreW24MzLCGbBiHg2JK",
        "SNOOPY",
        9,
        1,
        "7fWfS68VrJoMaqf2VnfWC6Frr4MVQ6oVkc5PSrPr5pR",
        "5MRdJQXH4MD2527faFJ894Mz1m5rwdmTrcQwHNAhszST"
      ],
      [
        "12k7ovnF5gSre7eVtWtz8tqKBRGdJdipYqGLM3aHfpsN",
        "2024-03-16T12:57:58+00:00",
        "So11111111111111111111111111111111111111112",
        "SOL",
        9,
        "c2sFwnTrVYbjM4ku6TgNk5Egavmh8GEQaLaWMsbUH7h",
        "JIJIDoge",
        2,
        256,
        "CBzgMGgvNfuMqivRtMtkHPmUUnWu2Zh1oN8nwsMJgCza",
        "41rLTh8ZJrZCuWw2XHwS7HZzddAb6L38X1BGkoxjwJZX"
      ],
      [
        "12mFQfKgHknzDZTNPPGxpLcWRYh9hjUpYC1hPiWdvFwz",
        "2024-01-31T16:01:28+00:00",
        "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",
        "JUP",
        6,
        "JxxWsvm9jHt4ah7DT9NuLyVLYZcZLUdPD93PcPQ71Ka",
        "mockJUP",
        9,
        256,
        "FFhGPFyH3ZCeYX8moDwcqJib1Q17sXVWWzmoa7fBKKvE",
        "3QJRsTrPCFKHrtJ1irtt8JTwgK4RXcJBbRnrrRzkzebC"
      ],
      [
        "12xeYhezRrpc5fg1t8sUV1bZ94rS6gx8yHgKvB1FF1By",
        "2024-06-12T04:30:22+00:00",
        "So11111111111111111111111111111111111111112",
        "SOL",
        9,
        "8vCzsdoss5g9naVRtuVD34jfSmLwM28ucWujrWyppump",
        "FATHER",
        6,
        256,
        "2QSTBtCpu9WJgNswWNoDt7ZxVHCqmNd4fHpQgRv2nkeA",
        "GAcdA8A42QFZMLZCne9zNG48fVQCyF8hxKSj5o3MRT7B"
      ]
    ],
    "rows": 10
  }
]

Result collections are limited to 10 items. The response returns pools in a columnar table format: columns describes each field's name and ClickHouse type, and data contains one array per pool with values in the same order as columns.

x402 Payment Option

This endpoint supports pay-per-use access via the x402 payment protocol (v2), letting you 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/solana/orca/pools"
);
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/pools")
        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