KOL Wallet Count — a live KOL badge for
every token

The KOL count API puts one number next to a token: how many tracked KOL wallets hold it right now. A WebSocket stream pushes the KOL wallet count as wallets buy; REST endpoints give a number on demand.

3,000+
Labeled Wallets
1.5M+
Wallet TXN / month
10M+
API Requests / month
20+
Integration Partners
99.90%
Uptime SLA
Trusted by
Axiom
MevX
XTrade
Mizar
Trojan
Trady
o1.exchange
Glyde
Genius
Axiom
MevX
XTrade
Mizar
Trojan
Trady
o1.exchange
Glyde
Genius
Use Case · KOL Wallet Count

Add a KOL count badge with one subscription

What it shows

The KOL wallet count is the number of distinct tracked KOL wallets holding a token. Shown as a badge in a token list or on a token page, it works as an activity indicator: a rising count means more KOLs are entering the token.

Two related numbers are available over REST. The transactions count returns how many trades tracked wallets of one type (kol, smart or whale) made in a time window of up to 24 hours. The token holders endpoint returns a total_holders block with kol_count, smart_count, whale_count and still_holding_count for one token.

How it works

For a live badge, open the WebSocket and subscribe to the count stream with a chain and a token: "*" for every token or one mint or contract address. Each time a tracked KOL wallet buys, you receive a wallet_count event with mint and kol_count. The stream is not split by wallet type; it always reports the KOL wallet count. One connection can feed a whole token list: keep the latest count per mint and update the matching badge.

For a number on demand, call GET /v1/transactions/count with blockchain, type and a window built from seconds, minutes and hours, optionally filtered to one token with mint. It returns only the count, not the transactions. Note the difference: this endpoint counts trades in the window, while the stream counts distinct KOL wallets holding the token.

Supported chains: Solana, BNB Chain, Base, Ethereum and Robinhood Chain (blockchain values solana, bnb, base, eth and rh). Solana has KOL, Smart Money and Whale wallets; BNB Chain, Base and Robinhood Chain have KOL and Smart Money; Ethereum has KOL wallets.

Quick start

Get a free key from the API dashboard (10,000 credits per month, no credit card), then:

WebSocket · JavaScript
const ws = new WebSocket("wss://stream.cabalspy.xyz?apiKey=YOUR_KEY");

ws.onopen = () => {
  ws.send(JSON.stringify({ op: "subscribe", stream: "count", blockchain: "solana", token: "*" }));
};

ws.onmessage = (e) => {
  const msg = JSON.parse(e.data);
  if (msg.event === "wallet_count") {
    console.log(msg.data.mint, "kol count", msg.data.kol_count);
  }
};
REST · cURL
curl "https://api.cabalspy.xyz/v1/transactions/count?blockchain=solana&type=kol&hours=1&api_key=YOUR_KEY"
REST · JavaScript
const p = new URLSearchParams({
  blockchain: "solana", type: "kol", hours: "1", api_key: "YOUR_KEY",
});
const res = await fetch(`https://api.cabalspy.xyz/v1/transactions/count?${p}`);
const { data } = await res.json();
console.log("count", data.count);

Who builds this

  • Trading terminals — a “5 KOLs” badge on every row of a token list or pulse page
  • Token pages and screeners — a heat indicator that ticks up as KOLs enter
  • Bots and agents — a cheap trigger before pulling heavier holder or signal data
  • Dashboards — activity sparklines from trade counts over the last minutes or hours

Frequently asked questions

01

How do I see how many KOLs hold a token?

Subscribe to the CabalSpy count stream at wss://stream.cabalspy.xyz with { "op": "subscribe", "stream": "count", "blockchain": "solana", "token": "<mint>" }. Every wallet_count event contains kol_count, the number of distinct tracked KOL wallets holding that token. For a one-off number over REST, GET /v1/tokens/holders returns total_holders with kol_count, smart_count and whale_count.

02

What does the KOL count API return?

The WebSocket count stream returns the token mint or contract address and kol_count, the number of distinct KOL wallets holding it. The REST endpoint GET /v1/transactions/count returns count, the number of transactions tracked wallets made in the requested window, and time_window_seconds.

03

Can I count Smart Money or Whale wallets too?

The live count stream always reports the KOL wallet count and is not split by wallet type. For Smart Money and Whale numbers use REST: GET /v1/transactions/count accepts type kol, smart or whale for trade counts, and GET /v1/tokens/holders returns kol_count, smart_count and whale_count for a token.

04

Should I use REST or WebSocket for a KOL badge?

Use the WebSocket count stream when the badge should update the moment a KOL buys. Poll the REST count when a slightly stale number is fine; the CabalSpy cookbook suggests a 30 second interval for an activity badge. You can combine both: seed the badge over REST on first paint, then let the stream update it.

05

How much does a live KOL count cost?

Each REST request costs 10 credits and each delivered WebSocket event costs 1 credit. A wildcard subscription on a busy chain produces many events, so subscribe only to the tokens you display. The free tier includes 10,000 credits per month.

Go deeper

Related use cases

Build KOL Wallet Count into your product. Start free today.

10,000 free credits every month, REST and WebSocket access, no credit card. Plans from $49/month.