Skip to main content
A lightweight realtime counter. Every time a tracked KOL wallet buys a token, you receive the updated number of distinct KOL wallets that hold it. Use it for activity badges, heat indicators, or as a cheap trigger before pulling heavier data. All CabalSpy streams share one WebSocket endpoint. You open a single connection, authenticate, then subscribe. This page covers the count channel.

Endpoint

Connect to wss://stream.cabalspy.xyz.

Authentication

Provide your API key as a query parameter, wss://stream.cabalspy.xyz?apiKey=YOUR_KEY, or as a header, Authorization: Bearer YOUR_KEY. A connection without a valid key is closed immediately with code 1008.

Subscribe

To start receiving counts, send a subscribe message after the connection opens.
Subscribe to all tokens on Solana
The token field decides what you watch. Use ”*” to receive the count for every token, or a token mint or contract address to watch just one token. This stream is not split by wallet type, it always reports the KOL wallet count.
Watch one token
string
required
The operation. Use subscribe to start.
string
required
Set to count for this stream.
string
required
Chain. One of solana, bnb, base, eth.
string
Which token to watch. Either ”*” for all tokens, or a single token mint or contract address. Defaults to all tokens.

Unsubscribe and other operations

To stop, send the same fields with op unsubscribe.
Unsubscribe
To see your active subscriptions, send op subscriptions. To check the connection is alive, send op ping and you get a pong back.
List your subscriptions

Event

boolean
Always true for stream events.
string
The channel that produced the event, for example count.solana.
string
wallet_count.
object

Billing

Each delivered event counts against your plan, the same way a request does. A wildcard subscription on a busy chain can produce many events, so filter by token when you can.

Heartbeat

The server sends WebSocket pings and expects pong, which standard clients answer automatically. A connection that stops answering is closed. You can also send op ping at any time.