How to track smart money on Solana in real time
Every trading terminal has a "smart money" tab, and almost none of them will tell you what the label means. This guide does both: a working definition you can audit, and the exact calls to track smart money on Solana in real time — the live smart-buy feed, the smart wallets inside any token, and a push stream that fires the moment one of them enters — using the Raiden API.
What smart money actually is (and isn't)
Definition first: smart money is a wallet with consistent net profit — after every fee — across many closed positions. Each clause matters:
- Net. On pump.fun the costs are everywhere: protocol fee, creator fee, the LP fee once the token trades on PumpSwap, priority fees, validator tips. A wallet that looks profitable gross and is flat net is not smart — it is a fee conduit. Raiden computes every PnL figure after deducting all of them (the full breakdown is in the wallet PnL checker guide).
- Consistent, across many closed positions. One lucky 100x dominates a wallet's lifetime PnL while proving nothing about the next trade. The signal is a positive net PnL assembled from a large number of completed round-trips — entries and exits — not a single open bag marked to an illiquid price.
Wallets with positive net realized PnL over enough closed positions and a majority win
rate earn the profitable flag in their profile. The smart-money feed below
draws on a stricter cut of the same idea — a hard net realized-profit bar across
multiple closed positions — and it is that set whose aggregate buying you are watching.
What is smart money buying right now: /smart-money
The market-wide view is one call — the tokens being bought by consistently profitable wallets in the current window, with how many of them entered and how much SOL they committed:
curl -H "X-API-Key: $RAIDEN_KEY" \ "https://terminal.raiden.wtf/api/smart-money?window=1h&limit=20"
{
"data": [
{
"mint": "9xQm…pump",
"symbol": "PEPE",
"status": "bonding",
"last_price": "0.00000042",
"smart_buyers": 7,
"smart_sol": "488888889",
"mayhem": true
},
…
]
}
smart_buyers is the count of distinct smart wallets that bought;
smart_sol the SOL they spent, as a string in lamports (divide by 1e9).
Seven independent profitable wallets converging on one bonding token is a very
different fact from one whale buying seven times — the count is the signal. The same
feed renders live on the Terminal's Smart page, so you can watch it before writing a
line of code.
Smart wallets inside one token: /tokens/{mint}/smart
When a token shows up in that feed, the next question is who — and whether they are still in. The per-token endpoint returns each smart-money wallet trading the mint with its full position:
curl -H "X-API-Key: $RAIDEN_KEY" \ "https://terminal.raiden.wtf/api/tokens/9xQm…pump/smart?limit=40"
{
"data": [
{
"trader": "8psN…VRtf",
"mint": "9xQm…pump",
"token_balance": "488888889123456",
"sol_invested": "12500000000",
"sol_received": "4200000000",
"tokens_bought": "612345678901234",
"tokens_sold": "123456789777778",
"realized_pnl": "1875000000",
"avg_cost": "0.0000204",
"current_price": "0.0000287",
"first_trade_at": "2026-06-21T09:41:14Z",
"last_trade_at": "2026-06-27T08:12:03Z",
"trade_count": 17
},
…
]
}
Read it like a position sheet: token_balance > 0 means the wallet still
holds; sol_received against sol_invested shows how much has
already been taken off the table; realized_pnl is what is banked on this
mint so far, net of fees; avg_cost versus the current price tells you
whether you would be buying above the smart entry. A page full of smart wallets with
large balances and low sol_received is accumulation; the same wallets with
tokens_sold catching up to tokens_bought is distribution
dressed as conviction.
Verify before you follow
Any wallet the feed surfaces — or any KOL wallet you found on X — should be audited before it earns a place in your tracker. One call returns the full profile:
curl -H "X-API-Key: $RAIDEN_KEY" \ "https://terminal.raiden.wtf/api/wallets/8psN…VRtf/stats"
{
"trader": "8psN…VRtf",
"realized_pnl": "184500000000",
"unrealized": "-12750000000",
"total_pnl": "171750000000",
"fees": "3820000000",
"tokens_traded": 312,
"tokens_closed": 287,
"tokens_won": 168,
"win_rate": 0.5853658536585366,
"avg_hold_sec": 1837.42,
"flags": ["sniper", "profitable", "whale"],
…
}
The checklist is short: tokens_closed high enough that the win rate means
something, realized_pnl positive (already net of the fees shown), a
profit distribution not carried by one bucket, and an avg_hold_sec you
could actually replicate. The
PnL checker article walks through every
field, and tracking pump.fun wallets covers
positions, transfers and rug history for the deeper dive.
Make it real time: a group and a stream
Polling REST tells you what smart money bought minutes ago. To know what it is buying now, turn your vetted list into a push stream — this is the same mechanism whether your list is algorithmically smart wallets or hand-picked influencers, which makes it a KOL wallet tracker for free. Three calls:
# 1 · create a group curl -X POST -H "X-API-Key: $RAIDEN_KEY" -H "Content-Type: application/json" \ -d '{"name":"Smart money"}' "https://terminal.raiden.wtf/api/wallet-groups" { "id": "grp_5f3a…", "name": "Smart money", "count": 0, … } # 2 · add the vetted wallets (idempotent, max 1000 per group) curl -X POST -H "X-API-Key: $RAIDEN_KEY" -H "Content-Type: application/json" \ -d '{"wallets":["8psN…VRtf","Cb3f…g9rE"]}' \ "https://terminal.raiden.wtf/api/wallet-groups/grp_5f3a…/wallets" { "ok": true, "added": 2 } # 3 · attach a stream: their fills + market-wide whale flow curl -X POST -H "X-API-Key: $RAIDEN_KEY" -H "Content-Type: application/json" \ -d '{"name":"smart","kinds":["swaps","feed"],"wallet_list_id":"grp_5f3a…","min_sol":3000000000}' \ "https://terminal.raiden.wtf/api/ws-subscriptions" { "id": 3, "token": "sub_a1b2c3…", "active": true, "kinds": ["swaps", "feed"], … }
The swaps kind pushes every fill by every wallet in the group,
sub-second, as it lands on-chain. The feed kind layers notable market-wide
events on the same socket — big trades at or above min_sol (lamports;
3000000000 = 3 SOL, the default) plus graduations — so whale flow from
outside your list still reaches you. Accounts get 3 streams by default; the full
connection protocol is in the
WebSocket streaming guide.
Python: alert when two smart wallets enter the same mint
Co-entry is the highest-value event a smart money tracker on Solana can produce: two independent, verified-profitable wallets buying the same token within a minute. A single in-memory dictionary is enough to catch it:
import asyncio, json, time, websockets from collections import defaultdict WS = "wss://terminal.raiden.wtf/ws?key=YOUR_KEY&sub=sub_a1b2c3…" SMART = {"8psN…VRtf", "Cb3f…g9rE"} # your group members WINDOW = 60 # seconds entries = defaultdict(dict) # mint -> {wallet: last_buy_ts} async def main(): async with websockets.connect(WS) as ws: async for raw in ws: ev = json.loads(raw) # kinds swaps+feed share the socket: keep only buys by OUR wallets if ev.get("type") != "swap" or not ev.get("is_buy"): continue if ev["trader"] not in SMART: continue # feed events can come from any whale now = time.time() mint = ev["mint"] entries[mint][ev["trader"]] = now entries[mint] = {w: t for w, t in entries[mint].items() if now - t <= WINDOW} if len(entries[mint]) >= 2: sol = int(ev["sol_amount"]) / 1e9 print(f"CO-ENTRY {mint}: {len(entries[mint])} smart wallets " f"in {WINDOW}s (last: {ev['trader'][:6]} bought {sol:.2f} SOL, " f"slot {ev['slot']})") asyncio.run(main())
Swap the print for a Telegram or Discord webhook and you have a real-time
smart money tracker for Solana that you own end to end — your definition of smart, your
wallets, your threshold. When it fires, pull
/tokens/{mint}/smart to see the positions before reacting.
The honest caveat
Smart money chases narratives — that is largely how it is smart. The same wallets rotate into whatever meta is paying this week and out of it days later, and their edge is as much the exit as the entry. Copying entries without copying exits is a strategy with a name: exit liquidity. Two mitigations are built into everything above. First, verify before you follow — a wallet only earns a slot in your group after its net PnL, closed-position count and hold times pass the PnL check. Second, treat co-entry as a trigger for research, not a buy order: the per-token smart list shows whether the buyers are still holding by the time you look. All figures rest on a 6-month rolling retention window with a complete record since May 1, 2026 — every number net of every fee, every amount a string in lamports.
The endpoints in this guide — /smart-money,
/tokens/{mint}/smart, /wallets/{addr}/stats, wallet groups
and WebSocket streams — are all part of the Raiden pump.fun
API, with exact request/response shapes for every route in the
API reference. To go from tracking to measuring who lands
first, see comparing wallet landing.
Frequently asked questions
What counts as smart money on Solana?
A wallet with consistent NET profit — after the pump.fun protocol fee, creator fee, LP fee, priority fees and validator tips — across many closed positions. One lucky 100x does not qualify: a single outlier trade dominates gross PnL but says nothing about repeatability. The signal is a positive net PnL built from a large number of completed round-trips over time.
How can I see what smart money is buying right now?
GET /smart-money returns the tokens currently being bought by consistently profitable wallets, with the number of smart buyers and the SOL they committed in the window. The same feed renders live on the Terminal's /smart page. For a single token, GET /tokens/{mint}/smart lists the smart-money wallets holding or trading it, with their full position per wallet.
Can I get an alert the moment a smart wallet buys a token?
Yes. Put the wallets in a wallet group (POST /wallet-groups, then add up to 1000 wallets), create a WebSocket stream with kind "swaps" bound to that group, and connect with the stream's sub token. Every fill by any wallet in the list is pushed to you sub-second, as it lands on-chain. Adding the "feed" kind with a min_sol threshold layers market-wide whale flow on the same socket.
Is copying smart money trades profitable?
Not automatically. Smart wallets are fast on the exit as well as the entry — copying their buys without copying their sells means you inherit the risk without the discipline. Verify any wallet's net PnL, win rate and hold times before following it, and treat co-entry by several smart wallets as a signal to investigate, not an order to buy.
How much history is behind the smart-money data?
Retention is a 6-month rolling window, with a complete record of pump.fun activity since May 1, 2026. PnL and win-rate figures are computed on that record, net of every fee, with amounts returned as strings in lamports (1 SOL = 1e9 lamports).