Cambrian Pool Transaction Feed (Time Bounded) API

By Cambrian Network solana

GET /api/v1/solana/pool-transactions-time-bounded

Pool Transaction Feed (Time Bounded)

Overview

Get detailed transaction data for any SPL token across major Solana DEXs with precise Unix timestamp filtering for historical analysis and event-driven research. This endpoint returns individual swap, add-liquidity, and remove-liquidity events for a specific pool within a defined time window.

Business Value

  • Trading Analysis: Track pool trading activity and volume patterns over specific time periods
  • Performance Monitoring: Monitor pool performance and liquidity changes during chosen intervals
  • Historical Research: Access detailed transaction history for backtesting and market analysis
  • Risk Assessment: Analyze transaction patterns to understand pool behavior during market events
  • Strategy Development: Use historical data to develop and validate trading strategies

Endpoint Details

URL:

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

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).
after_time integer Yes - Unix timestamp - start time for data range
before_time integer Yes - Unix timestamp - end time for data range
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 (unique identifier) for the on-chain transaction.
slot UInt64 Solana slot number in which the transaction was processed.
txType LowCardinality(String) Type of transaction (e.g., trade, add_liquidity, remove_liquidity).
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.
poolAddress String Pool address the transaction belongs to.
blockTime DateTime('UTC') UTC timestamp of the block containing the transaction.

Examples

1. Fetch Time-Bounded Pool Transactions

Retrieve transactions for a specific SOL/USDC pool on Meteora within a defined Unix timestamp range.

curl -X GET "https://api.cambrian.org/solana/pool-transactions-time-bounded?pool_address=5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6&after_time=1735689600&before_time=1735776000&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": [
      [
        "3Bq3LhaVVr9CqcELMuRneAwuQaAqDJGNyM4fAjfTYTBRtwjojajjmWGrn5DVRFW7tTpXxVP4974BEZjxsKUH3Nns",
        311292565,
        "add_liquidity",
        0.279999933,
        0,
        279999933,
        0,
        "SOL",
        "USDC",
        "So11111111111111111111111111111111111111112",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2025-01-01T23:59:38+00:00"
      ],
      [
        "3xi1tab17hSH6rVGoe7i6BAtXdiuqU84EF7pPdUqNBqsJvyZDiVoQ5ebDHsp31c1vRxGQyi2nfJRb79SHaTTpNME",
        311292464,
        "trade",
        37.656821901,
        7301.219803,
        37656821901,
        7301219803,
        "SOL",
        "USDC",
        "So11111111111111111111111111111111111111112",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2025-01-01T23:58:57+00:00"
      ],
      [
        "4GUEKuwZGE3v3qs4KZ5FKdJ8QG1PHCd7RwMqYbFyhoqovZzpHhhnnrCDi8izyxgWufRANTcFocTSBmLBbtgZ4Lty",
        311292337,
        "trade",
        13.299050238,
        2578.526434,
        13299050238,
        2578526434,
        "SOL",
        "USDC",
        "So11111111111111111111111111111111111111112",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2025-01-01T23:58:04+00:00"
      ],
      [
        "uMycjE36FUXAGV26XjcayZrxTowBEJBF2ty9uHpXUMHQvoLrRk5KpN7PafUWR1WA3v1kdy9m3CdKaATjBCUekYX",
        311292290,
        "trade",
        9000.001056,
        46.380857956,
        9000001056,
        46380857956,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2025-01-01T23:57:45+00:00"
      ],
      [
        "2vcBQ1TknhNk65eWTgbeEUWZVLV9LWumpBQj8VxHYhBAFADhTZGbdKbNxo4dKFgEiDqaTcdhyJf4MZefyUugNkTc",
        311292279,
        "trade",
        663.793848,
        3.420813839,
        663793848,
        3420813839,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2025-01-01T23:57:41+00:00"
      ],
      [
        "9xomBtJESJhNiSW7aYLpj3ckWS9zedQgnwkS5nGjoYYWPVHkBWnGkZ8r6YykW6LnkZez1LHRhyM18TMbfqSw3FT",
        311292269,
        "trade",
        220,
        1.133754169,
        220000000,
        1133754169,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2025-01-01T23:57:37+00:00"
      ],
      [
        "3j5akVEbw7xWCRxk3S5EfxdLmPcHTR8Q9GtnGfh1vVzLRiw7JuLQrpyWr3mUQAwRWzXwMGZ8yfK4U4PsYVLeGbYm",
        311292251,
        "trade",
        1165.084732,
        6.006622567,
        1165084732,
        6006622567,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2025-01-01T23:57:29+00:00"
      ],
      [
        "Ly3XAVLwrG8gLuyXjqVXvNgV3iySqK7S9MScTby2LmUP1JsufTKYy1XjRS1TQEfhkV917UdukZhbuSJmRsdMyLv",
        311292247,
        "trade",
        2016.982173,
        10.398600486,
        2016982173,
        10398600486,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2025-01-01T23:57:27+00:00"
      ],
      [
        "5eNNEJw8VpJkMZJYvkMcYNTWy3Attgoj9MB8yyXXKoTZ9qgF5h1Na9Pq7bSmcTaYcyCJimGmr4SXUHqJHjuJT2k7",
        311292247,
        "trade",
        2149.682201,
        11.082738699,
        2149682201,
        11082738699,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2025-01-01T23:57:27+00:00"
      ],
      [
        "4eJ822NwrrjKZCJdY7LavuH8AkQonP4gdJAPK1kky13NYe2K7X2ewJb1nW8JaPNB9akaPfoyU8XVW12v2L9GQGU1",
        311292247,
        "trade",
        2624.894801,
        13.532708777,
        2624894801,
        13532708777,
        "USDC",
        "SOL",
        "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "So11111111111111111111111111111111111111112",
        "Meteora",
        "5rCf1DM8LjKTw4YqhnoLcngyZYeNnQqztScTogYHAS6",
        "2025-01-01T23:57:27+00:00"
      ]
    ],
    "rows": 10
  }
]

Result collections are limited to 10 items. The response above shows the most recent transactions (one add_liquidity event followed by several trade swaps) for the SOL/USDC pool on Meteora within the requested time window, ordered by descending block time.

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-time-bounded"
);
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-time-bounded")
        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