Skip to main content
Subscribe on an open stream connection. See Connecting to streams for the connection, frames and reconnecting.

Filters

string
required
The chain slug the token is on.
string
required
One token address on chain. The subscription spends one unit of the address budget.
string[]
Wallet classifications to keep, with the values the Token holders flags parameter takes. A holder is kept when it carries at least one of them, and fomo keeps wallets flagged fomo. Leave it out to keep every holder. A busy token’s holders change on most of its trades, so flags cuts the updates you receive.
The channel takes no throttleMs and sends no exit frame.

Update

Each update’s data is one holder’s whole row on the token after a change, in the row shape Token holders returns, without rank. Its trading figures cover lifetime.
  • Keep one row per chain, token and address. A later update replaces the earlier one.
  • Rank the rows by balance yourself, largest first.
  • A holder that sells out arrives with balance 0. Drop it.
A row carries no value and no unrealized PnL. Price it with the formulas on Token holders.

Snapshot, then stream

  1. Subscribe.
  2. Read Token holders with the same flags and period=lifetime.
  3. Merge the read and the updates on address.
The read returns at most 150 holders, and the stream sends every holder that changes. A holder outside the read can arrive on the stream, so rank the merged rows by balance. Read again after every reconnect.

Errors