Tokens/token_traders
Who traded this token, and who made money?
$0.03per call after 25 free a dayReads a token's pool from its first transaction for a set time and lists the wallets that traded it: buys, sells, SOL spent and received, profit, how soon after launch they bought, and launch-block and creator flags.
Run to see who bought a token early and who profited: launch-block snipers, the pool creator, wallets that sold more than they bought (got tokens some other way), and ordinary traders.
Keeps the model from guessing. Shows each wallet's real SOL in and out on a token from its first trade, from chain balances, so 'smart money' claims, insider dumps and launch-block snipers can be checked instead of believed.
Call it
| Transport | How |
|---|---|
| HTTP | POST /api/tools/token_traders with a JSON body of the inputs below. |
| MCP | tools/call with name token_traders on /mcp. |
Inputs
| Name | What it's looking for | Where to get it |
|---|---|---|
tokenstring (mint address), required | The token whose traders you want. | find_token, or the token's address from the user. Never make one up. |
poolstring (pool address), optional | The pool to read. Default: the pool with the most liquidity in RugCheck's report. | A DEX page or GeckoTerminal's pool address. |
hoursnumber 0.1-24, optional | How long after the pool's first transaction to read (default 6). | Short (1-2) to study the launch, longer to see who held. |
max_tradesinteger 10-1000, optional | At most this many transactions are read, oldest first (default 400). | Raise it for busy pools; the answer says when the window was cut short. |
how_manyinteger 1-100, optional | How many wallets to list, most profit first (default 25). | Default is fine. |
network"mainnet-beta" | "devnet", optional | Default "mainnet-beta" (real money). | "devnet" only for test wallets. |
Returned fields
Every field the tool returns, what it is, and exactly how it's worked out.
| Field | What it is | How it's worked out |
|---|---|---|
pool / launch_time / launch_slotstring / string | null / number | The pool read and its first transaction. | The oldest signature of the pool address (getSignaturesForAddress, paged back to the start). |
window{ from, to, hours, cut_short } | The time read. cut_short is true when max_trades ran out before the hours did. | Launch time plus hours, and the last transaction actually read. |
start_reachedboolean | False when the pool had more than 40,000 transactions and its start couldn't be reached; launch then means the oldest one read. | Signature pages left over. |
transactions_read / trades / unreadnumber | Transactions loaded, how many were a wallet buying or selling the token, and how many couldn't be loaded (left out, never guessed). | getTransaction on each signature in the window. |
wallets_count / profitable_countnumber | Wallets that traded, and how many took out more SOL than they put in. | Counted from wallets[] before the how_many cut. |
wallets[]array | Most profit first: wallet, buys, sells, sol_spent, sol_received, profit_sol, tokens_bought, tokens_sold, tokens_left, first_buy, first_buy_after_launch_s, bought_in_launch_slot, sold_more_than_bought, created_pool, held_minutes. | Each trade is the signing wallet's own token and SOL (plus wrapped SOL) balance change in one transaction, fees and tips included. profit_sol = SOL received minus SOL spent in the window; tokens_left are not valued. sold_more_than_bought means the wallet got tokens another way (a transfer, often from the creator). held_minutes is first buy to last sell. |
snipers{ wallets, profit_sol } | Wallets that bought in the pool's very first slot, and their total profit. | bought_in_launch_slot on wallets[]. |
Limits
- SOL-paired pools only: trades paid in USDC or another token show up with sol near 0.
- Profit is inside the window only. A wallet that bought before the window or still holds is not fully counted, and the answer never values tokens it still holds.
- No names or labels: a wallet is described only by what its trades show.