Real‑Time Solana Memecoin Intelligence

TrenchFeed surfaces the critical signals hidden in Solana memecoin markets — coordinated dump cascades, wallet clusters, liquidity collapses and fake pumps. Harness our SSE stream to detect dumps, track wallets and hedge risk seconds after it happens.

Start Free Trial
Abstract data stream illustration

Overview

TrenchFeed monitors every Solana memecoin pair and distills torrents of on‑chain transactions into actionable intelligence. Our streaming API doesn’t just firehose raw swaps; it identifies behaviour patterns that matter to quants and market makers: sudden coordinated sell‑offs, recurring wallet clusters, liquidity rug pulls, fake volume pumps and more. With TrenchFeed you see when the market flips — and you can act before everyone else.


Core features include:


Our API is organized into two tiers to fit your needs:

Streaming data illustration

Rate Limits

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

API Reference

How to Connect

TrenchFeed streams real time events over a Server Sent Events connection.

Connection Steps:

  1. Get your API key from your welcome email after checkout.
  2. Choose your tier route: /stream/pro or /stream/enterprise.
  3. Open a streaming HTTP connection to https://api.trenchfeed.cc/stream/\1 with header Authorization: Bearer <YOUR_API_KEY>.
  4. Read each SSE data line. Each line contains a JSON object. Handle events as they arrive.
  5. Implement simple retry on disconnect to restore the stream.
  6. NOTE:

  7. Email may go straight to spam folder.

Pro Tier Stream

Clean, focused swap data optimized for trading bots via the /stream/pro SSE endpoint.

Sample Event (Pro Tier)

{
  "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
  ]
}
        

Enterprise Tier Stream

Complete transaction history with extended metadata via the /stream/enterprise SSE endpoint.

Sample Event (Enterprise Tier)

{
  "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 }
  }
}
        

Client Examples

curl

curl -N https://api.trenchfeed.cc/stream/\1 \
  -H "Authorization: Bearer <YOUR_API_KEY>"

Python (httpx)

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)

JavaScript (fetch + SSE parsing)

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 {}
      }
    }
  }
}

HTTP Status Codes

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}

Pricing

Choose the plan that’s right for your use case. Cancel anytime.

Pro

$1,997/mo

Includes a 5‑day free trial

  • Cleaned swap data
  • 5 concurrent connections
  • 50 GB bandwidth
  • 10M events/month
  • Email support
Subscribe

Enterprise

$4,997/mo

Includes a 5‑day free trial

  • Full raw swap data
  • 25 concurrent connections
  • 500 GB bandwidth
  • 100M events/month
  • Priority support
Subscribe

Get Started

It only takes a few minutes to integrate TrenchFeed into your application:

  1. Create an account and grab your API key from your welcome email.
  2. Stream data by adding your key to the Authorization header as Bearer <api_key>.
  3. Process SSE data lines that contain JSON objects to power your bots, dashboards, or research.

Need help? Reach out to [email protected] and our team will assist you.