Endpoint
Connect towss://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. Invalid keys are closed with code 1008.Chains and wallet types
Smart Money is not available on eth, so a smart block on that chain has no effect. min_buy and every value in the payload are denominated in the chain native currency, so a min_buy of 0.5 means 0.5 SOL on Solana and 0.5 BNB on BNB Chain.
Live market cap, entry market cap and unrealized PnL are now delivered on every chain. On BNB, Base, Ethereum and Robinhood these fields used to be null and are now filled.
Subscribe
To start receiving signals, send a subscribe message after the connection opens. You pick a chain, a token to watch, and the rules that decide when a signal fires. The simplest subscription fires an entry when three or more KOL wallets buy the same token, and an exit when only one is left holding.Simple KOL cluster
KOL and Smart Money together, with filters
The same cluster on BNB, min_buy is in BNB
string
required
The operation. Use subscribe to start.
string
required
Set to signal for this stream.
string
required
Chain. One of solana, bnb, base, eth, rh. Smart Money is not available on eth.
string
Which token to watch. Either ”*” for all tokens, or a single token mint or contract address.
object
KOL rules. Fields: min_buy (minimum buy per wallet, native currency), entry_at (list of wallet counts that fire an entry, up to 3 values), exit_at (list of remaining holder counts that fire an exit, up to 2 values), max_wallet_buy (optional per wallet cap).
object
Smart Money rules, same shape as kol. Only where Smart Money is supported.
number
Only count wallets whose lifetime win rate is at least this percentage.
array
Whitelist. Only these wallet addresses count toward a cluster.
array
Blacklist. These wallet addresses never count.
number
Only fire for tokens at least this many hours old, measured from the first tracked buy.
number
Only fire for tokens at most this many hours old.
Unsubscribe and other operations
To stop, send op unsubscribe with the same chain and token. This removes the subscription for that token regardless of which types you configured.Unsubscribe
List your subscriptions
Event
Each fired signal delivers a signal event.string
signal.
object
Market cap, entry_market_cap and unrealized PnL are only filled while a current market cap for the token is known. If a token has not traded since the stream started, these stay null until its first price arrives.

