← Back to guides
March 15, 2026·7 min read

How to Filter Jupiter Swap Events with Filtered gRPC

How to Filter Jupiter Swap Events with Filtered gRPC
JupitergRPCSwapDCATrading

Jupiter is Solana's dominant swap aggregator — routing over 60% of all DEX volume. If you're building a trading bot, MEV strategy, or analytics dashboard, Jupiter swap data is essential. This guide shows how to receive pre-parsed Jupiter events in real-time using Subglow filtered gRPC.

Why Jupiter Data Is Different

Jupiter doesn't run a single AMM. It aggregates routes across Raydium, Orca, Meteora, Phoenix, and dozens of other venues. A single Jupiter swap might touch 3-4 different DEXs in one transaction. Parsing this manually means understanding every underlying program's instruction format — a massive engineering effort.

With Subglow's Jupiter filter, we handle the route parsing. You receive a clean JSON object with the input token, output token, amounts, route path, and price impact — regardless of which underlying DEXs were used.

Supported Jupiter Events

EventDescriptionKey Fields
swapInstant swap via aggregated routein_token, out_token, in_amount, out_amount, route, price_impact
limit_orderLimit order placed or filledin_token, out_token, limit_price, status, expiry
dcaDCA execution triggeredin_token, out_token, amount, interval, executions_remaining

Node.js: Jupiter Swap Monitor

This example tracks large Jupiter swaps (over $1,000 equivalent) in real-time. Use this as the foundation for whale-watching bots, copy-trading systems, or volume analytics.

const client = new Subglow({
  url: "grpc.subglow.io:443",
  apiKey: process.env.SUBGLOW_KEY,
  filter: ["jupiter"],
});

client.subscribe((tx) => {
  if (tx.type === "swap" && tx.parsed.out_amount_usd > 1000) {
    console.log(`Whale swap: ${tx.parsed.in_token} → ${tx.parsed.out_token}`);
    console.log(`  Amount: $${tx.parsed.out_amount_usd.toFixed(2)}`);
    console.log(`  Route: ${tx.parsed.route.join(" → ")}`);
    console.log(`  Price impact: ${tx.parsed.price_impact.toFixed(3)}%`);
  }
});

DCA & Limit Order Tracking

Jupiter's DCA and limit orders create recurring on-chain activity. Track limit_order events to see when large orders fill — these often indicate smart money accumulation patterns. DCA executions show steady buying pressure on specific tokens.

Building a Volume Dashboard

Aggregate Jupiter swap events to build real-time volume dashboards by token pair. Since Subglow delivers pre-parsed data with USD amounts, you can skip the price-fetching step and build your aggregations directly from the stream.

Ready to try it?

Get your API key and start receiving filtered data in under 5 minutes. Free tier available.

Get started