Cambrian Pool Transaction Feed (Time Bounded) API
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
- 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