Intersect ranked traders across 2-5 same-chain tokens with the Noesis /crossbt analysis.

Bot /crossbtREST POST /api/v1/tokens/cross-tradersMCP cross_traders

How to find traders active across multiple tokens

TL;DR. Noesis's /crossbt analysis intersects ranked-trader lists for 2-5 tokens on one chain and returns wallets appearing in multiple lists, regardless of whether they still hold. Coverage is complete on Solana and selective on Base, BNB Chain and Robinhood Chain; Ethereum currently returns no ranked-trader rows.

Why cross-trader analysis matters

Top-trader rankings are backward-looking: they tell you who has already made money on a token. Intersecting them across multiple tokens finds wallets that consistently extract value from a sector or ecosystem.

Two kinds of wallets surface reliably:

Both matter. /crossbt returns them in the same ranked list; classification happens downstream via /walletchecker.

What does /crossbt return?

Given 2-5 token mints, /crossbt returns:

  1. Wallets that rank in the top traders of every provided token (using GMGN's top-100 list per token)
  2. Per-token rank for each recurring wallet
  3. Per-token realized PnL
  4. Per-wallet win rate and trade count (full history, not token-scoped)
  5. Solscan label for the top 15 enriched wallets

Ranked by combined PnL across all provided tokens.

How does Noesis compute the intersection?

For each provided mint, Noesis pulls the top-100 trader list from GMGN. These lists are pre-ranked by realized profit per token. The intersection is computed by wallet address:

Smaller intersections (tighter, more meaningful) come from more tokens or more long-tail tokens.

How to run the analysis

Telegram bot

/crossbt mint_a mint_b mint_c

Typical output:

๐Ÿ”€ Cross Best Traders ยท 3 tokens
Found 7 wallets in top traders of all 3

  1. 9aB7...Kzm2 ยท "@alpha_caller" ยท +$180k combined
     ยท #3 in mint_a (+$90k) ยท #8 in mint_b (+$45k) ยท #12 in mint_c (+$45k)
     ยท 71% WR ยท 214 trades
  2. 4rEp...Nn01 ยท +$112k combined
     ...

REST API

curl -H "X-API-Key: $NOESIS_API_KEY" \
  -X POST -H "Content-Type: application/json" \
  -d '{"tokens": ["mint_a", "mint_b", "mint_c"]}' \
  "https://noesisapi.dev/api/v1/tokens/cross-traders"

MCP

cross_traders(tokens=["mint_a", "mint_b", "mint_c"])

or prompt:

Find the traders that are in the top 100 of all three tokens mint_a, mint_b, mint_c. Rank them by combined PnL.

SDKs

TypeScript

import { Noesis } from "noesis-api";
const noesis = new Noesis({ apiKey: process.env.NOESIS_API_KEY! });
const cbt = await noesis.wallet.crossTraders(["mint_a", "mint_b", "mint_c"]);

Python

from noesis import Noesis
noesis = Noesis(api_key=os.environ["NOESIS_API_KEY"])
cbt = noesis.wallet.cross_traders(["mint_a", "mint_b", "mint_c"])

Rust

let client = noesis_api::Noesis::new(api_key);
let cbt = client.cross_traders(&["mint_a".into(), "mint_b".into(), "mint_c".into()]).await?;

Understanding the output

How to combine /crossbt with other commands

Chain 1 โ€” Smart money rotation

/crossbt <trending_a> <trending_b>    traders profitable on both
  โ†’ /walletchecker <top_trader>       confirm high-WR smart money
  โ†’ monitor their next trades for sector rotation signal

Chain 2 โ€” Serial insider detection

/dev <mint>                           get dev's prior launches
  โ†’ /crossbt <mint> <prior_mint_a>    recurring top traders
  โ†’ wallets in both = likely team members accumulating

Chain 3 โ€” Sector alpha mapping

/crossbt <launcher_a> <launcher_b> <launcher_c>    top launcher-sector traders
  โ†’ /walletchecker each                            rank by win rate
  โ†’ follow the top 3 into future launches

Chain 4 โ€” Cross-validation against /cross

/cross <mint_a> <mint_b>              common current holders
/crossbt <mint_a> <mint_b>            common top traders (profitable)
  โ†’ intersection of both = active profitable holders
  โ†’ in /cross but not /crossbt = bagholders who haven't realized profit
  โ†’ in /crossbt but not /cross = smart money who already exited

When /crossbt can mislead

Caveats

FAQ

How is /crossbt different from /cross? /cross intersects current holders. /crossbt intersects top traders (by historical profit), regardless of current holding. Use /cross to find coordination in positions, /crossbt to find skill or insider profit extraction.

Why limit to 3 tokens? Three-token intersection of top-100 lists is the sweet spot for signal density. Four-token intersection is usually empty or down to 1-2 ultra-whales โ€” at that point you're better off profiling the known names individually.

What's a meaningful intersection size? For three long-tail meme coins, 3-15 wallets in the intersection is typical and actionable. 50+ wallets suggests the tokens are too popular or too correlated to learn anything specific from.

Can /crossbt find the dev's secondary wallets? Often yes. If a dev launches several tokens and trades their own launches, they show up with very high rank and consistent PnL across them. Pair with /dev on each mint and use the wallet-connections API when a transfer-graph check is needed.

Do wallets need to still hold to appear? No. /crossbt uses realized-profit rankings from GMGN, so wallets that bought early and sold are included. This is the key behavioral difference from /cross.

How recent is the top-trader data? GMGN top-trader lists update every few minutes. /crossbt fetches live per call, no caching.

Related guides