Cambrian Pool Transaction Feed API

By Cambrian Network solana

GET /api/v1/solana/pool-transactions

Pool Transaction Feed

Overview

Retrieve a paginated list of trades/transactions for a specified Solana pool address, including swaps, add liquidity, and remove liquidity events. Results are ordered by recency and can be filtered by a configurable lookback window, so you can monitor recent trading activity for any pool.

Business Value

  • Pool Activity Monitoring: Track all trading activity and liquidity events for specific pools to understand usage patterns and volume trends
  • Liquidity Analysis: Monitor add/remove liquidity events to analyze pool health and provider behavior patterns
  • Trade Analytics: Access detailed swap transaction data including amounts, tokens, and timing for market analysis
  • DEX Integration: Support for multiple DEX protocols (Meteora, Orca, Raydium) provides comprehensive Solana ecosystem coverage
  • Historical Research: Paginated results enable deep historical analysis of pool performance and market dynamics

Endpoint Details

URL:

https://api.cambrian.org/solana/pool-transactions

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

Query Parameters

Parameter Type Required Default Description
pool_address string Yes - Pool address (base58-44 string) to get transaction history for
days integer Yes - Number of days to look back for transactions. Default is 1 day.
limit integer No 100 Limit the number of results.
offset integer No 0 Offset the results, allows you to skip a number of rows before starting to return rows.

Response Field Descriptions

Response Field Type Description
signature String Transaction signature uniquely identifying the on-chain transaction
slot UInt64 Solana slot number in which the transaction was processed
txType LowCardinality(String) Type of transaction (e.g., trade)
amountIn Float64 Human-readable amount of the input token
amountOut Float64 Human-readable amount of the output token
amountInRaw UInt128 Raw (unscaled) amount of the input token, in base units
amountOutRaw UInt128 Raw (unscaled) amount of the output token, in base units
tokenInSymbol String Symbol of the input token
tokenOutSymbol String Symbol of the output token
tokenInAddress String Mint address of the input token
tokenOutAddress String Mint address of the output token
dex LowCardinality(String) DEX on which the transaction occurred (e.g., Meteora)
poolAddress String Pool address the transaction occurred in
blockTime DateTime('UTC') UTC timestamp of the block containing the transaction

Examples

1. Retrieve Recent Pool Transactions

This example retrieves the most recent transactions for a specific Solana pool over the last day, limited to 10 results.

curl -X GET "https://api.cambrian.org/solana/pool-transactions?pool_address=5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6&days=1&limit=10" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response:

[
  {
    "columns": [
      {
        "name": "signature",
        "type": "String"
      },
      {
        "name": "slot",
        "type": "UInt64"
      },
      {
        "name": "txType",
        "type": "LowCardinality(String)"
      },
      {
        "name": "amountIn",
        "type": "Float64"
      },
      {
        "name": "amountOut",
        "type": "Float64"
      },
      {
        "name": "amountInRaw",
        "type": "UInt128"
      },
      {
        "name": "amountOutRaw",
        "type": "UInt128"
      },
      {
        "name": "tokenInSymbol",
        "type": "String"
      },
      {
        "name": "tokenOutSymbol",
        "type": "String"
      },
      {
        "name": "tokenInAddress",
        "type": "String"
      },
      {
        "name": "tokenOutAddress",
        "type": "String"
      },
      {
        "name": "dex",
        "type": "LowCardinality(String)"
      },
      {
        "name": "poolAddress",
        "type": "String"
      },
      {
        "name": "blockTime",
        "type": "DateTime('UTC')"
      }
    ],
    "data": [
      [
        "3C7Rs4RS2np8ZDBnZEdWRviEd9JMQRtcxoEnwnvXqPXmHtb3aQJb1dXH2hNVBBiGXxvXWeP9RvoUAmEp1Wx3eYAU",
        437799941,
        "trade",
        0.002546339,
        0.188997,
        2546339,
        188997,
        "SOL",
        "USDC",
        "So11111111111111111111111111111111111111112",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2026-08-07T13:51:12+00:00"
      ],
      [
        "5Gfx1CKYtnXFvFkxLu4KmoV1irgDEd98UfQqqfwVT2vDig4zUbpDAtQkHKkcZMJQq9AHeSM1yqemx1sfegqvfun3",
        437799917,
        "trade",
        0.003702573,
        0.274815,
        3702573,
        274815,
        "SOL",
        "USDC",
        "So11111111111111111111111111111111111111112",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2026-08-07T13:51:01+00:00"
      ],
      [
        "5x24BkFvADDNaKL34sJ6Mo4hAcG8W9rusWW2TunxzSqck2qU9uwcjiL89nXTRaxy1jK6kJYqPDABZYHMkmQTrgBb",
        437799851,
        "trade",
        4.970724,
        0.066915872,
        4970724,
        66915872,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2026-08-07T13:50:34+00:00"
      ],
      [
        "23fuJNawJKszGrJ7EKHEzjbFaAQrtxic9f9oxovNmdDT7opmFG9vrLp2dWnvXVxwvKFUdhRhuUDpG4euaEkRydAB",
        437799834,
        "trade",
        14.700044,
        0.197897883,
        14700044,
        197897883,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2026-08-07T13:50:26+00:00"
      ],
      [
        "kjMruLpfCCTDyue8a4s2wX3bPhqpySP9iBExKtrkyBkmFF1vxaZzNDFKWGqLqujcJJf7X1FzD5aeXJfZZYEXscn",
        437799832,
        "trade",
        13.801479,
        0.18587101,
        13801479,
        185871010,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2026-08-07T13:50:25+00:00"
      ],
      [
        "51nfAJQxogQbxecaf9kkqXxwDwdGdhBTU11UYGUJoHbFBTX2Xnq8Lbc8NUe254YC5PnPbSUcRQPogoEgyHQija4w",
        437799831,
        "trade",
        13.726801,
        0.184865285,
        13726801,
        184865285,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2026-08-07T13:50:25+00:00"
      ],
      [
        "5zKbJc1g8As4inpCrbJPorhFkTTspk1ezbQ8opUHkmpfeX4FohhSZMJNm6nRs12pHF7M8wpjH5pvGsXgNVUTFfZz",
        437799830,
        "trade",
        59.406488,
        0.800055116,
        59406488,
        800055116,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2026-08-07T13:50:24+00:00"
      ],
      [
        "5ZsgSwVNud8yNPzzvSqZX1RJwfUa6QtrGjQgE7kdFabzo95gaXxYT5JAjtHsKoL9Dm3frKCfmeL2i32rK4sr2etK",
        437799829,
        "trade",
        899.76645,
        12.117578125,
        899766450,
        12117578125,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2026-08-07T13:50:24+00:00"
      ],
      [
        "31EPigxJ65PHXNrBSdZw6oLfEy4CLkHsZ6Wt8eAKRb7293rG8sVRoU6tgPcKPa6HnHNX6s8MacFrNFZHcexFyEVP",
        437799828,
        "trade",
        17285.643154,
        232.793889353,
        17285643154,
        232793889353,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2026-08-07T13:50:24+00:00"
      ],
      [
        "61BmXR2NjRe4hrUTLoa8ase2kUCf7xyKfsdhKHbPdHpLecMuExtdQr5Rx8DiXvnYyJFWG6eJUF87Q9tqJ2cn8Ey2",
        437799828,
        "trade",
        1644.241275,
        22.143770857,
        1644241275,
        22143770857,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2026-08-07T13:50:24+00:00"
      ]
    ],
    "rows": 10
  }
]

Result collections are limited to 10 items. The response shows the 10 most recent transactions for the specified pool over the last day, all classified as "trade" events on Meteora, with alternating SOL/USDC swap directions and their corresponding raw and human-readable amounts.

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/solana/pool-transactions"
);
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/pool-transactions")
        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