Skip to main content
Pick a wallet you trust and follow its trades in real time. The trading channel sends every confirmed fill. Filter it by wallets and you get only that wallet’s order flow, decoded and ready to act on.

What you need

Follow the wallet

Subscribe to trading with a wallets filter. The SDK opens the socket, sends the X-API-Key header, and resubscribes after a reconnect.
import { Radion } from "@radion-app/sdk";

const radion = new Radion({ apiKey: process.env.RADION_API_KEY });
const whales = ["0xWHALE_ADDRESS"];

radion.realtime.onChannel("trading", (event) => {
  const fill = event.data;
  if (fill.type !== "order_filled_v2") return;

  const side = fill.side === 0 ? "buy" : "sell";
  console.log(`whale ${side} on token ${fill.tokenId}`);
  // place your own order here
});

radion.realtime.subscribe({
  id: "whale-trades",
  channel: "trading",
  filters: { wallets: whales },
});

await radion.realtime.connect();
The wallets filter keeps events where a listed address is the maker or taker. Read side (0 = buy, 1 = sell), tokenId, and the filled amounts to size your own trade.

Front-run the confirmation

Want to act before the fill lands in a block? Add a second trading subscription with confirmed: false to get the pending feed. Pending frames are guesses, so treat them as a hint and reconcile against the confirmed trading event by transaction_hash. See Mempool front-run alert for the full pattern.

Notes

  • Multiple wallets in one subscription — the filter matches any of them.
  • Add min_usd to skip small fills and copy only meaningful size.
  • The trading channel is order flow only. For a wallet’s full activity (transfers, splits, redemptions), use the wallets filter channel.

Next steps

trading channel

Every order-flow event and its payload.

Examples repo

Runnable copytrade example you can clone.
Last modified on July 5, 2026