Stream Solana Memecoin Data in Real‑Time
TrenchFeed provides a high‑performance Solana memecoin firehose for bots and research platforms. Subscribe to clean or raw swap data with enterprise‑grade reliability.
Get API Key
TrenchFeed provides a high‑performance Solana memecoin firehose for bots and research platforms. Subscribe to clean or raw swap data with enterprise‑grade reliability.
Get API Key
TrenchFeed is built by developers for developers. Inspired by world‑class financial data providers, our mission is to make blockchain data delightful for engineers. We deliver a simple streaming API that gives you access to high‑frequency swap events across supported decentralized exchanges. Whether you’re building AI agents, trading bots, or dashboards, TrenchFeed brings the data to you in seconds.
The API is organized into two tiers to fit your needs:
Pro: 500 to 1,000 messages per minute, 1 to 3 concurrent streams per account
Enterprise: 10,000 plus messages per minute, 10 to 100 plus concurrent streams, burst tolerance, priority routing
TrenchFeed streams real time events over a Server Sent Events connection.
/stream/pro or /stream/enterprise.https://api.trenchfeed.cc/stream/\1 with header Authorization: Bearer <YOUR_API_KEY>.data line. Each line contains a JSON object. Handle events as they arrive.Clean, focused swap data optimized for trading bots via the /stream/pro SSE endpoint.
{
"pair": {
"dex": "pumpfun",
"address": "4TiRavVWTSi1NkYqsDVcreqfHXdGrY46tY5Lzmii9zn7",
"fdv_usd": 9811.12,
"price_usd": 0.000009811
},
"token": {
"name": "this job will heal the trenches",
"symbol": "[REDACTED]",
"address": "8c6vV9fKjRQ3j9N5Xvo1jM8uJJLwMYL3uMYvQbDFpump"
},
"metrics": {
"h1": {
"buys": 14,
"sells": 3,
"volume_usd": 3906,
"snapshot_ts": "2025-10-23T20:55:07.729661+00:00",
"window_code": "h1",
"pair_address": "4TiRavVWTSi1NkYqsDVcreqfHXdGrY46tY5Lzmii9zn7",
"price_change_pct": 73.22
},
"m5": {
"buys": 14,
"sells": 3,
"volume_usd": 3906,
"snapshot_ts": "2025-10-23T20:55:07.729661+00:00",
"window_code": "m5",
"pair_address": "4TiRavVWTSi1NkYqsDVcreqfHXdGrY46tY5Lzmii9zn7",
"price_change_pct": 73.22
}
},
"timestamp": "2025-10-23T21:18:40.299018+00:00",
"recent_swaps": [
{
"ts": "2025-10-23T21:18:40.299018+00:00",
"side": "buy",
"txid": "3TF65hUbsZnk...",
"amount_in": 0.025887912,
"amount_out": 382383.117559
}
// ... last 10 swaps
]
}
Complete transaction history with extended metadata via the /stream/enterprise SSE endpoint.
{
"pair": {
"url": "https://dexscreener.com/solana/4tiravvwtsi1nkyqsdvcreqfhxdgry46ty5lzmii9zn7",
"dex_id": "pumpfun",
"fdv_usd": 9811.12,
"chain_id": "solana",
"price_usd": 0.000009811,
"base_token": "8c6vV9fKjRQ3j9N5Xvo1jM8uJJLwMYL3uMYvQbDFpump",
"quote_token": "So11111111111111111111111111111111111111112",
"snapshot_ts": "2025-10-23T20:55:07.729661+00:00",
"pair_address": "4TiRavVWTSi1NkYqsDVcreqfHXdGrY46tY5Lzmii9zn7",
"price_native": 0.00000005167,
"market_cap_usd": 9811.12,
"base_token_name": "this job will heal the trenches",
"pair_created_at": "2025-10-23T20:54:51+00:00",
"quote_token_name": "Wrapped SOL",
"base_token_symbol": "[REDACTED]",
"quote_token_symbol": "SOL"
},
"swaps": [
{
"ts": "2025-10-23T21:18:40.299018+00:00",
"side": "buy",
"txid": "3TF65hUbsZnk...",
"amount_in": 0.025887912,
"amount_out": 382383.117559
}
// ... full swap history
],
"token": {
"name": "this job will heal the trenches",
"symbol": "[REDACTED]",
"chain_id": "solana",
"updated_at": "2025-10-23T20:55:05.271515+00:00",
"token_address": "8c6vV9fKjRQ3j9N5Xvo1jM8uJJLwMYL3uMYvQbDFpump"
},
"timestamp": "2025-10-23T21:18:40.299018+00:00",
"current_swap": {
"side": "buy",
"txid": "3TF65hUbsZnk83Fi5CgSNcFto8b6CMFWMPeww22eqWrd3tKLvbqZ1ii7J7uWtSgLK31eSEw9zADFAiNSqdyJzojN"
},
"pair_window_metrics": {
"m5": { "buys": 14, "sells": 3, "volume_usd": 3906, "price_change_pct": 73.22 },
"h1": { "buys": 14, "sells": 3, "volume_usd": 3906, "price_change_pct": 73.22 },
"h6": { "buys": 14, "sells": 3, "volume_usd": 3906, "price_change_pct": 73.22 },
"h24": { "buys": 14, "sells": 3, "volume_usd": 3906, "price_change_pct": 73.22 }
}
}
curl -N https://api.trenchfeed.cc/stream/\1 \
-H "Authorization: Bearer <YOUR_API_KEY>"
import httpx, json
with httpx.stream("GET",
"https://api.trenchfeed.cc/stream/\1",
headers={"Authorization": "Bearer <YOUR_API_KEY>"},
timeout=None) as r:
for raw in r.iter_lines():
if not raw:
continue
line = raw.decode("utf-8", errors="ignore")
if line.startswith("data: "):
payload = line[len("data: "):]
obj = json.loads(payload)
print(obj)
const res = await fetch("https://api.trenchfeed.cc/stream/\1", {
headers: { Authorization: "Bearer <YOUR_API_KEY>" }
});
const reader = res.body.getReader();
const decoder = new TextDecoder();
let buffer = "";
while (true) {
const { value, done } = await reader.read();
if (done) break;
buffer += decoder.decode(value, { stream: true });
let sep;
while ((sep = buffer.indexOf("\n\n")) >= 0) {
const frame = buffer.slice(0, sep);
buffer = buffer.slice(sep + 2);
for (const line of frame.split("\n")) {
if (line.startsWith("data: ")) {
const jsonText = line.slice(6);
try {
const obj = JSON.parse(jsonText);
console.log(obj);
} catch {}
}
}
}
}
Our API returns machine‑readable JSON for every response. Here are examples of common status codes you may encounter:
200 OK
{
"swap_id": "cafebabe",
"pair": "SOL/USDC",
"ts": "2025-10-07T12:00:00Z",
"side": "buy",
"amount0": "100",
"amount1": "500"
}
400 Bad Request
{"error":"Invalid query parameters","status":400}
401 Unauthorized
{"error":"Missing API key","status":401}
402 Payment Required
{"error":"Subscription inactive – please subscribe to access this endpoint","status":402}
404 Not Found
{"error":"Endpoint not found","status":404}
Choose the plan that’s right for your use case. Cancel anytime.
It only takes a few minutes to integrate TrenchFeed into your application:
Authorization header as Bearer <api_key>.Need help? Reach out to admin@trenchfeed.cc and our team will assist you.