KOL Bundle Detection — see the side wallets
behind a KOL
KOL bundle detection finds a KOL wallet plus the side wallets that bought a Solana token alongside it in the same block. Each bundle comes with a confidence score, on-chain proof and a live position for every wallet, over REST or WebSocket.


















Detect KOL bundles on a token with one request
What it shows
A bundle is a KOL wallet and the side wallets that bought together with it in the same block. KOL bundle detection returns, per token, each detected bundle with the KOL at its center (kol_wallet, kol_profile), the number of wallets, a confidence value, whether it was confirmed as a Jito bundle (jito_confirmed), the proof_type, the Solana slot, a proof reference and a verify_hint for checking it on chain yourself.
Every wallet in the bundle carries a live position: tokens held, bag percentage, supply percentage, amount invested, realized and unrealized PnL, remaining value and entry market cap. Side wallets also carry proof fields such as adjacent_to_kol, same_fee, block_index and occurrences, the number of times that wallet has bundled with the KOL.
How it works
For a snapshot, call GET /v1/bundle with blockchain=solana and the token mint. Positions are computed live at request time. If no bundles are detected you get a normal 200 with an empty bundles array and the token block, so the endpoint is safe to poll.
For live detections, subscribe to the bundle stream with a token mint, or "*" for every tracked token. A single mint returns an init snapshot of its current bundles, followed by kol_bundle events as bundles are detected and wallets trade. mode: "full" (the default) also sends position updates whenever the market cap moves, which you can throttle with mc_interval (1 to 30 seconds); mode: "events" sends only detection and trade events and uses the fewest credits.
Supported chains: Solana only.
Quick start
Get a free key from the API dashboard (10,000 credits per month, no credit card), then:
curl "https://api.cabalspy.xyz/v1/bundle?blockchain=solana&mint=3Pkrq4MmLvDXyn1fa3sz5MekKRkZkc1iLDcz5AzWpump&api_key=YOUR_KEY"const p = new URLSearchParams({
blockchain: "solana",
mint: "3Pkrq4MmLvDXyn1fa3sz5MekKRkZkc1iLDcz5AzWpump",
api_key: "YOUR_KEY",
});
const res = await fetch(`https://api.cabalspy.xyz/v1/bundle?${p}`);
const { data } = await res.json();
data.bundles.forEach(b => console.log(b.kol_wallet, b.confidence, b.wallet_count));const ws = new WebSocket("wss://stream.cabalspy.xyz?apiKey=YOUR_KEY");
ws.onopen = () => {
ws.send(JSON.stringify({
op: "subscribe", stream: "bundle",
token: "3Pkrq4MmLvDXyn1fa3sz5MekKRkZkc1iLDcz5AzWpump", mode: "full",
}));
};
ws.onmessage = (e) => {
const msg = JSON.parse(e.data);
if (msg.event === "init" || msg.event === "kol_bundle") {
msg.data.bundles.forEach(b => console.log(b.kol_wallet, "wallets", b.wallet_count));
}
};Who builds this
- Trading terminals — a bundle breakdown on the token page and bundle flags in the holder table
- Alpha and alert bots — a notification when a KOL buys together with side wallets
- Risk tools — flag tokens where a KOL’s visible position is only part of the real one
- Analysts — see which side wallets repeatedly bundle with the same KOL
Frequently asked questions
01How do I check if a Solana token is bundled by a KOL?
Call GET https://api.cabalspy.xyz/v1/bundle with blockchain=solana and the token mint. The response lists each detected bundle with the KOL wallet, the side wallets, a confidence value, the proof and a live position per wallet. An empty bundles array means no KOL bundle was detected for that token.
02What is KOL bundle detection?
KOL bundle detection identifies coordinated buys in which a KOL wallet and a set of side wallets buy the same token in the same block, a common pattern for insiders riding a KOL call. CabalSpy returns the KOL, the side wallets, a confidence score and on-chain proof for each detected bundle.
03How can I verify a detected bundle?
Each bundle includes the Solana slot, a proof reference, a proof_type, a jito_confirmed flag and a verify_hint for checking it independently on chain. Side wallets carry adjacent_to_kol, same_fee, block_index and occurrences, which show how closely each wallet traded next to the KOL.
04Which chains does bundle detection support?
Solana only. The REST endpoint returns an invalid_parameter error for any other blockchain value, and the bundle WebSocket stream is Solana only as well.
05How do I keep bundle stream costs low?
Each delivered WebSocket event counts against your plan. Subscribe to one token instead of "*", and either set mode to "events" to receive only detection and trade events, or keep mode "full" and set mc_interval between 1 and 30 seconds to limit market cap updates to one per window.
Go deeper
Related use cases
Build KOL Bundle Detection into your product. Start free today.
10,000 free credits every month, REST and WebSocket access, no credit card. Plans from $49/month.
