How to track pump.fun wallets: PnL, positions and rug history

· 3 min read

walletspnlrug forensicstracking

Who is actually making money on pump.fun — and who is quietly dumping every launch they touch? This guide builds a wallet tracker on the Raiden API: profit and loss net of every fee, open positions, the funding graph behind a wallet, and its complete rug history.

1 · The full profile in one call

/wallets/{addr}/stats returns the all-time profile: realized and unrealized PnL, win rate, fee spend, profit distribution and behavior metrics. PnL is net of all fees — protocol, creator, priority fees and validator tips — so a "profitable" wallet that burns its edge on tips shows up as what it really is.

curl -H "X-API-Key: $RAIDEN_KEY" \
  "https://terminal.raiden.wtf/api/wallets/{addr}/stats"

Want a recent read instead of all-time? /wallets/{addr}/window-stats?w=7d returns the same shape over a 1d, 7d or 30d window — the right basis for "is this wallet hot right now".

2 · Open positions and per-token history

curl -H "X-API-Key: $RAIDEN_KEY" \
  "https://terminal.raiden.wtf/api/wallets/{addr}/positions"
# each position: token_balance, sol_invested, sol_received, realized_pnl,
# avg_cost, trade_count, first/last_trade_at — one row per token touched

A single position on a specific token is a direct lookup: /wallets/{addr}/positions/{mint}.

3 · The rug history — every dump, not a sample

The killer signal for wallet reputation: has this wallet been inside rugs before? /wallets/{addr}/dumps returns every rugged token the wallet took part in — one row per token, recent-first, keyset-paginated:

curl -H "X-API-Key: $RAIDEN_KEY" \
  "https://terminal.raiden.wtf/api/wallets/{addr}/dumps?min_sol=0.5"

{
  "wallet": "8psN…VRtf",
  "count": 100,
  "data": [
    {
      "mint": "9xQm…pump",
      "symbol": "WIF",
      "token_created_at": "2026-07-20T11:00:00Z",
      "same_slot": true,
      "as_operator": false,
      "as_sniper": true,
      "sol_extracted": 3.42
    }
  ],
  "next_cursor": "2026-07-20T11:00:00.482913Z|9xQm…pump",
  "summary": { "total_dumps": 1670, "same_slot": 595, "sol_extracted": 421.7 }
}
  • same_slot=1 filters to dumps in the dev's exact slot — bundled with the operator, the strongest complicity signal.
  • as_operator / as_sniper label the wallet's role; min_sol and since narrow the set.
  • The first page includes an all-time summary.

4 · Who funded this wallet?

Sybil clusters hide behind fresh wallets — the funding graph unmasks them. /wallets/{addr}/funding-chain walks the chain of first-funders back to an exchange or a known entity; /wallets/{addr}/related finds wallets that trade the same tokens in the same slot (coordination), and /wallets/{addr}/transfers maps native SOL flow in and out.

5 · Put it together

import requests

BASE = "https://terminal.raiden.wtf/api"
H = {"X-API-Key": "YOUR_KEY"}

def profile(addr):
    pack = requests.get(f"{BASE}/wallets/{addr}/pack", headers=H).json()["pack"]
    dumps = requests.get(f"{BASE}/wallets/{addr}/dumps", headers=H).json()
    return {
        "stats":    pack["stats"],          # PnL, win rate, fees
        "funding":  pack["funding_chain"],  # who funded it
        "related":  pack["related"],        # same-slot cohort
        "rug_summary": dumps.get("summary"),
    }

/wallets/{addr}/pack bundles stats, funding chain, related wallets and positions in one response — one call instead of four.

Keep watching in real time

Once you have a list of wallets worth following, save it as a wallet group and point a custom WebSocket stream at it: every trade those wallets make is pushed to you the moment it lands. That's how the Terminal's smart-money and live-feed pages work — same API, same data. For the research side, pair this with downloading the full trade history with Python and backtest what these wallets actually did.

FAQ

Frequently asked questions

Is the PnL really net of every fee?

Yes — realized and unrealized PnL subtract protocol fees, creator fees, priority fees and validator tips. A wallet that wins gross but burns its edge on tips shows a truthful net number.

What counts as a rug dump in the history?

A wallet appears in a token's dump history only if it SOLD within the dev's dump slot or the two slots right after (~800ms). Buyers are victims and are never flagged.

Can I monitor a whole list of wallets at once?

Yes — save them as a wallet group (up to 1000 wallets) and either query the group's members in a loop or attach a custom WebSocket stream to the group to get every trade pushed in real time.

Build on the same data

Private beta — free invite-only keys, full REST + WebSocket access, and the same firehose that powers the Terminal.