Skip to main content
WS channel: screener-pools Enabled on your key on request: contact us. The live market screener with one row per pool: the full list on subscribe, then every pool that enters, changes or leaves, as it happens. Same parameters, filters and messages as the Screener Stream, which gives one row per token. Use it when the pool is what you track: a pool-level screener, liquidity tooling, or a view where the same token can appear once per pool. It is the closest shape to the rows of REST /v1/screener, which are pools too.

What differs from the Screener Stream

Everything else is identical: mixing chains, timeframe, the named sorts (trending, volume, marketCap, createdAt) and the numeric fields, limit, sortOrder, updatePeriod, windows, the filter tree and the flat REST filters, the snapshot then delta delivery, rank and order, the free snapshot every 60 s, since, errors and close codes. The Screener Stream page is the reference for each of them.

Parameters

string[]
required
1 to 8 public chain ids, evm:<id> or solana. EVM chains and Solana can be mixed in one view. Example: ["evm:8453"]
string
The window the view works on, one of 1m, 5m, 15m, 30m, 1h, 4h, 6h, 12h, 24h. Default 24h. Same rules as the Screener Stream.
string
trending (default), volume (alias top), marketCap, createdAt, or any numeric card field. A bare counter reads the timeframe window.
string
asc or desc. Default desc.
number
View size, 1 to 100. Default 50.
object
A filter tree, same grammar and same fields as the Pulse Stream; bare counters read the timeframe window.
integer
Milliseconds, 0 to 60000, default 100: at most one delta per period. Same rules as the Screener Stream; the ack carries the value applied.
string[]
The rolling windows to include in each row, among 1m, 5m, 15m, 30m, 1h, 4h, 6h, 12h, 24h. Default: the timeframe. Same rules as the Screener Stream.
There is no model parameter: the list is the active market.

Applying a delta

  1. Remove every key listed in leave.
  2. Apply every update: the fields present replace those of the row.
  3. Insert every row of enter at its rank, in the order given.
  4. If order is present, arrange your rows in that order.
A snapshot replaces everything you hold for the view.

Billing

1 credit per message delivered. The snapshot of a subscription ("reason": "subscribe") costs 1, whatever its size; every delta costs 1, whatever it carries. Snapshots sent on our own after that first one ("reason": "periodic" every 60 s, "reason": "resync" after a hiccup) and deltas flagged "replay": true are free; the snapshot sent when you resume with since costs 1, like the one of a new subscription. The connection is free. A longer updatePeriod means fewer messages, and fewer credits. GET /v1/usage/breakdown reports this channel under WS screener-pools, where requests is the number of messages delivered.
Ack
type:object

Server acknowledgement: the subscription is live.

Snapshot
type:object

The complete view, in order: right after the ack ("reason": "subscribe", 1 credit), every 60 s if the view moved (periodic, free) and whenever the view has to be replaced (resync, free).

Delta
type:object

Each change of the view, at most one per updatePeriod: 1 credit per message.

Subscribe
type:object

Client frame opening the subscription (additive, ack is explicit).