WebSocket Firehose

Solana pool price WebSocket stream

Subscribe to decoded pool updates across major Solana DEXs. Designed for trading systems that need fresh prices without polling.

Mode
Push stream
Use case
Realtime pricing
Integrations
SDK + WS
Live WebSocket Firehose demo

Live WebSocket DEX Stream

This is what one WebSocket connection gives you: decoded pool updates, streaming in real time. Pick a DEX and hit Stream. The console shows the same data your app would receive in production.

stream slot
-
active slot
-
lag
-
Backend proxies the websocket and RPC so keys are not exposed in the browser.
stream_console.log
idle
Click Stream to start.
SDK Example

Stream pool updates in seconds

Use the TypeScript SDK to connect to any DEX stream. In browsers, set sendApiKeyInQuery.

Supported streams include PumpSwap, Pump.fun, Raydium (AMM/CPMM/CLMM/LaunchLab), Orca Whirlpools, Meteora (DBC/DLMM/DAMM).
TypeScript (SDK) | stream_damm1.ts
import { DritanClient } from "dritan-sdk";

const client = new DritanClient({ apiKey: process.env.DRITAN_API_KEY! });

const handle = client.streamDex("damm1", {
  sendApiKeyInQuery: true,
  onMessage: (event) => console.log(event),
});

setTimeout(() => handle.close(), 10_000);

Channels

Choose a stream channel per DEX implementation (PumpSwap, Raydium, Orca, Meteora, and more).

wss://us-east.dritan.dev/pumpamm
wss://us-east.dritan.dev/orca
wss://us-east.dritan.dev/dlmm

Authentication

Browsers can’t send custom headers on WebSockets, so use the query param:

Browser WebSocket | browser_ws.ts
const ws = new WebSocket("wss://us-east.dritan.dev/damm1?apiKey=YOUR_KEY");
ws.onmessage = (m) => console.log(m.data);

FAQ

Is this a browser-safe stream?
Yes. Use ?apiKey= in the URL (browsers cannot send custom headers).

What does a message look like?
Events are decoded pool updates (reserves, pricing, and normalized fields). See the docs for stream payload details.

Node.js WebSocket | node_ws.ts
import WebSocket from "ws";

const ws = new WebSocket("wss://us-east.dritan.dev/damm1", {
  headers: { "x-api-key": "YOUR_KEY" },
});

ws.on("message", (m) => console.log(m.toString()));