Cambrian Token Transaction Feed API
GET /api/v1/solana/token-transactions
Token Transaction Feed
Overview
Fetches a paginated list of trades and transactions for a given Solana token address, aggregated across all supported DEXes. You can filter results by time range, transaction type, DEX, pool address, and minimum trade value, which makes this useful for building trade feeds and transaction-level analytics.
Business Value
- Real-time Trading Intelligence: Access up-to-the-minute transaction data across all major Solana DEXes to identify trading patterns and market movements
- Cross-DEX Analytics: Monitor token activity across Meteora, Raydium CLMM, Pump.fun AMM, and Orca in a unified dataset for comprehensive market analysis
- Risk Management: Filter transactions by minimum USD value and transaction type to focus on meaningful trades and avoid noise from micro-transactions
- Portfolio Tracking: Track specific token transactions within defined time periods to analyze trading performance and market timing
- Arbitrage Opportunities: Identify price discrepancies and trading volumes across different DEXes to spot potential arbitrage opportunities
Endpoint Details
URL:
https://api.cambrian.org/solana/token-transactions
Method: GET
Authentication: Required via X-API-Key header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| token_address | string | Yes | - | Token program address (base58-44 string). See tokens for valid addresses. |
| after_time | integer | No | 1735689600 | Unix timestamp - start time for data range |
| before_time | integer | No | 1735776000 | Unix timestamp - end time for data range |
| days | integer | Yes | - | Number of days to look back for transactions. Default is 1 day. |
| tx_type | string | No | - | Transaction type filter: buy, sell, add_liquidity or remove_liquidity. |
| dex | string | No | - | Filter by DEX: Meteora, Raydium CLMM, Pump.fun AMM or Orca |
| pool_address | string | No | - | Filter trades by pool contract address |
| min_value_usd | number | No | - | Minimum trade value in USD |
| 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 |
|---|---|---|
| - | - | The sample response returned 0 rows, so the columns array is empty and no data fields are populated. Field-level descriptions aren't available from this example. |
Examples
1. Fetch recent transactions for a token
Retrieves transactions for the Solana wrapped SOL token over the last day, limited to 10 results.
curl -X GET "https://api.cambrian.org/solana/token-transactions?token_address=So11111111111111111111111111111111111111112&days=1&limit=10" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [],
"data": [],
"rows": 0
}
]
Results are capped at 10 items here. In this example, the queried time range returned no matching transactions, so columns and data are empty and rows is 0.
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/token-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/token-transactions")
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