How to Track Any Crypto Wallet's Portfolio & PnL in 2026
Pull a wallet's full holdings, realized/unrealized profit, per-period PnL and funding source across 6 chains — a DeBank/Zerion-style dataset you can query, for copy-trade audits and forensics.
Anyone can claim a 40x. The on-chain record either backs it up or it doesn’t. If you want to verify a trader’s returns — or follow a smart-money wallet’s live positions, or trace how an “anonymous” wallet was first funded — you need the wallet’s complete holdings, every token it ever touched, the cost basis and realized profit per position, and ideally the very first transaction that funded it. DeBank and Zerion show you a slick UI of this; what you actually need for analysis is the data behind that UI, in a form you can query.
This guide covers extracting wallet-level portfolio and PnL intelligence as structured records — the building block for copy-trade audits, leaderboards, tax tools, and cluster forensics.
Wallet-centric, not token-centric
A holder scraper answers “who holds this token?” A wallet tracker answers the inverse: “what does this address hold, and how did it do?” That inversion changes the whole shape of the data. Instead of one token across many wallets, you get one wallet across all its tokens — current and historical — on Solana, BSC, Ethereum, Base, Tron, and Monad.
For each chain-wallet pair the actor assembles a paginated full holdings list, plus optional wallet-level aggregates and a funding-source lookup. The pieces:
- Per-token holdings — current and past positions, with cost basis, realized and unrealized profit, PnL multipliers, buy/sell counts, holding period, and transfer history.
- Wallet summary — overall PnL, total USD balance by chain, win-rate, and social/identity tags.
- Per-period PnL — 1-day, 7-day, and 30-day profit snapshots, so you can see recent form, not just lifetime numbers.
- Funding source — the native-token transaction that first funded the wallet, which is the key edge for cluster and insider analysis.
What a holdings record looks like
{
"wallet": "DfMxre4cKmvogbLrPigxmibVTTQDuzjdXojWzjCXXhzj",
"chain": "solana",
"token": { "symbol": "POPCAT", "address": "7GCihg...", "logo": "https://..." },
"balance": 152000.0,
"balance_usd": 138320.0,
"cost_basis_usd": 12400.0,
"realized_pnl_usd": 56200.0,
"unrealized_pnl_usd": 125920.0,
"pnl_multiple": 11.1,
"buy_count": 7,
"sell_count": 3,
"holding_period_days": 88,
"status": "open"
}
And the wallet-level summary, emitted separately:
{
"wallet": "DfMxre4cKmvogbLrPigxmibVTTQDuzjdXojWzjCXXhzj",
"total_balance_usd": { "solana": 210400.0, "base": 8200.0 },
"realized_pnl_usd": 318900.0,
"unrealized_pnl_usd": 142100.0,
"winrate": 0.61,
"pnl_1d_usd": 4200.0,
"pnl_7d_usd": 38800.0,
"pnl_30d_usd": 121000.0,
"funding_source": {
"funded_by": "5Q544f...",
"first_funded_at": "2026-01-09T14:02:33Z",
"amount_native": 12.0
}
}
That funding_source block is the part you can’t get from a portfolio UI — it’s the thread you pull to map clusters of related wallets back to a common funder.
▶ Run the GMGN Wallet Portfolio & PnL Tracker — full holdings, realized/unrealized PnL, per-period stats and funding source for any wallet across 6 chains. A queryable DeBank/Zerion alternative.
How it works under the hood
The actor pulls from GMGN’s on-chain APIs, follows pagination cursors to assemble the complete holdings list, and uses proxying plus retry logic for reliability. Per-period aggregation and funding-source lookup are optional toggles — turn them on when you need recent-form metrics or cluster analysis, leave them off to keep runs lean when you only need current positions.
A practical flow for following a set of wallets:
- Feed a list of
(chain, wallet)pairs — the smart-money addresses you’ve identified elsewhere. - Enable the wallet summary and per-period PnL to rank them by recent form.
- Enable funding-source lookup for the wallets you suspect are linked.
- Land holdings rows and summaries separately, keyed by
(chain, wallet, scraped_at).
Typical use cases
- Copy-trade audits — verify a trader’s claimed returns against on-chain realized vs. unrealized profit before you mirror them.
- Smart-money following — inspect the current positions of top wallets you found via a holder scan or leaderboard.
- Insider / cluster detection — trace native funding sources to map networks of linked addresses.
- DeBank / Zerion alternative — render full portfolios and rich PnL metrics in your own UI, on your own schedule.
- Crypto tax tools — extract per-token cost basis and realized profit for tax calculations.
- Trader leaderboards — validate public performance claims against the chain.
- Influencer accountability — audit public-figure wallets against the returns they advertise.
- Memecoin alpha sourcing — see which tokens top wallets are quietly accumulating.
Cost math
Pay-per-event: a small start fee plus a per-result charge per holdings row and summary record. A single wallet with a few dozen positions costs a fraction of a cent in results. Auditing a leaderboard of 100 wallets daily, with summaries and per-period PnL, lands in the low tens of dollars a month — for data that would otherwise mean running multi-chain indexers and a historical price oracle yourself.
The expensive alternative is obvious once you price it: per-chain indexing infrastructure, a price service for cost-basis reconstruction, funding-graph traversal, and the maintenance treadmill across six chains. A metered per-result bill is dramatically cheaper than that engineering, and it scales to zero when you’re not running.
Pitfalls to plan for
- Realized vs. unrealized is the whole game. A wallet “up 40x on paper” with zero realized profit hasn’t actually made money. Always read both fields; don’t celebrate unrealized gains as returns.
- Per-period PnL needs the toggle. 1d/7d/30d stats and funding source are optional — if your downstream expects them, make sure they’re enabled, or you’ll get nulls.
- Closed positions matter for audits. Historical (closed) holdings carry the realized-profit truth. Don’t filter to
openpositions only when verifying claimed returns. - Funding source is one hop. It gives you the immediate funder, not the full ancestry. For deep cluster work, recurse: feed the funder back in as a new wallet.
- Snapshots drift. Balances and PnL move continuously. Store
scraped_atand snapshot on a cadence if you’re building time series or leaderboards.
Wrapping up
Portfolio UIs are for browsing; analysis needs the underlying records. If your job is to verify returns, follow smart money, build a tax export, or trace funding clusters, a wallet PnL tracker gives you holdings, realized/unrealized profit, recent-form stats, and the funding source as structured data — without standing up an indexer for every chain you care about.
▶ Open the Wallet Portfolio & PnL Tracker on Apify — queryable holdings, PnL, per-period stats and funding source across 6 chains. Pay per result. Start with Apify’s free monthly credit.
Related guides
App Store Data API Alternative: ASO Metadata Beyond iTunes
Apple's iTunes Search and Lookup API is rate-limited and thin. Here's an App Store data API alternative that returns full reviews, rankings, and keyword signals for ASO.
Binance Market Data Without API Keys: Spot Prices and Funding in 2026
How to pull Binance spot prices, order books and funding data without API keys — using the public REST surface, its weight limits and region blocks explained.
CoinGecko API Alternative: Exchange Data Without Rate-Limit Pain
A CoinGecko API alternative for exchange and market data — why the free Demo tier's ~30 calls/min and Pro-gated fields force you to the public pages instead.