How to Evaluate Polymarket Traders

July 2026 9 min read
TL;DR: Total profit tells you who got big — not who is good. To separate skill from luck on Polymarket you need each wallet's full daily P&L series rebuilt from on-chain events, then risk metrics on top: Sharpe, Sortino, max drawdown, time underwater and win rate. This guide shows how each number is computed, what "good" looks like, and the red flags to check before copy-trading anyone. See the live whale leaderboard for real examples.

Polymarket's own leaderboard ranks wallets by one number: profit. That's a start, but profit alone can't answer the questions that actually matter. Did they make it on one lucky election bet or across a thousand independent markets? Did they sit through a 60% drawdown to get it? Is the "profit" banked, or is it a paper gain on open positions that could still go to zero?

Every Polymarket trade settles on the Polygon blockchain, which means every wallet's complete track record is public and verifiable. This guide walks through how to turn that raw history into the numbers a fund would ask for before allocating to a trader — because on-chain, you can.

Why the official leaderboard isn't enough

Three problems with ranking traders by profit alone:

There's also a data problem: Polymarket's public profile API caps open positions per request and purges older closed positions, so the deeper history of the most active wallets isn't fully visible through it. The chain keeps everything — reconstruction from raw events is the only complete record.

Step 1 — Rebuild true P&L from the chain

A wallet's position in any outcome token changes through five on-chain event types: order fills (trades on the CTF and NegRisk exchanges), splits (minting a YES/NO pair from USDC), merges (burning a pair back to USDC), redemptions (claiming payout after resolution) and conversions (NegRisk position transforms). Replay all of them in order and you get, for every token the wallet ever touched, its running amount and average cost basis.

From there, P&L splits cleanly in two:

ComponentWhen it booksHow it's computed
Realized P&LOn every sell, merge or redemptionSale/payout proceeds minus average cost basis of the shares disposed
Unrealized P&LMarked daily on open positionsShares held × (mark price − avg cost). Marked at last traded price; switches to the exact payout once the market resolves

Summed per day, this produces a daily P&L series — total P&L, portfolio value, cost basis and open position count for every day of the wallet's life. That series is the raw material for everything in the next section. It's exactly what our Pro API returns per wallet with one call.

Step 2 — The metrics that separate skill from luck

With a daily P&L series in hand, the standard quant toolkit applies. One honest caveat first: a Polymarket wallet's cash balance isn't part of its on-chain trading history (USDC sitting idle is invisible to position events), so the capital base is unobservable. Ratios are therefore computed on dollar daily P&L rather than percentage returns — valid for comparing wallets of roughly stable size, and stated openly rather than pretending otherwise.

MetricWhat it tells youWhat good looks like
SharpeConsistency: mean daily P&L over its volatility, annualized> 1 sustained over hundreds of active days is strong for event-driven returns
SortinoSame, but only penalizes downside days — kinder to lumpy winnersMeaningfully above the wallet's Sharpe means losses are small and controlled
Max drawdown ($)Worst peak-to-trough fall of total P&LJudge it against total profit: a $2M drawdown en route to $20M is discipline; en route to $3M is survival
Max drawdown (% of deployed capital)Drawdown relative to the wallet's peak deployed capital (cost basis / portfolio peak)Below ~30% suggests sizing discipline; above 70% means they nearly blew up
Days underwaterLongest streak below a prior P&L peakShort streaks = fast recovery; a year underwater is a red flag even with a big total
Win rateShare of active days that closed positive55–65% is typical for good directional traders; ~100% with tiny daily P&L usually means market-making, not forecasting
RoMaDAnnualized P&L over max drawdown — return per unit of worst painHigher is better; it's the single best one-number summary for sizing a copy-trade

None of these metrics means much alone. The pattern to look for: large total P&L + Sharpe above 1 + drawdown a small fraction of profit + hundreds of active days. That combination is very hard to fake and very hard to luck into.

Reading a real whale

Here are the full P&L curves of two wallets from the live top-10 leaderboard, rebuilt day by day from on-chain events:

Cumulative P&L curves of two top Polymarket traders computed from on-chain data — a steady grinder with Sharpe 2.46 vs a drawdown-and-recovery profile
Daily cumulative P&L of two top-10 wallets — same engine as the live leaderboard, every point verifiable on-chain.

Two seven-figure winners, two completely different stories:

Total P&L alone would rank these wallets two rows apart and tell you nothing else. The curve — and the stats computed on it — is what separates a process from a survived gamble. For contrast, the current #1 wallet ($22.0M total) made +$24.8M on a single day, more than its lifetime total: one thesis, massive size, one resolution night. Copying that wallet means copying a bet, not a process. Click any wallet on the live leaderboard to verify these numbers against Polymarket's own profile pages.

Red flags before copy-trading anyone

Do it yourself — the data is public

Everything above is computable from public Polygon data. If you want it pre-built, one API call returns the full daily series for any wallet:

# Daily P&L series for any wallet (CSV)
curl -H "X-API-Key: YOUR_KEY" \
  "https://api.predmktdata.com/user/0x.../pnl-series"

# date,realized_pnl,unrealized_pnl,total_pnl,daily_pnl,portfolio_value,...

# Add ?stats=true for the full evaluation block (JSON)
curl -H "X-API-Key: YOUR_KEY" \
  "https://api.predmktdata.com/user/0x.../pnl-series?stats=true" \
  | jq .stats
# sharpe, sortino, max_drawdown_usd/pct/days, win_rate, romad,
# best_day, worst_day, volatility, days_active

For cohort-level screens — "every wallet with Sharpe > 1 and 200+ active days" — the same engine's inputs are available as daily Parquet dumps (865M+ fills, positions, redemptions since 2022) that you can query with DuckDB without downloading anything.

Track any wallet like a fund would

Daily P&L series, Sharpe, Sortino, drawdown and win rate for any Polymarket address — one API call, computed from every on-chain event since 2022.

Start free trial →

FAQ

How is Polymarket P&L calculated?

By replaying every on-chain event that changes a position — fills, splits, merges, redemptions, conversions — to maintain each token's amount and average cost basis. Realized P&L books on sells and redemptions against that cost basis; unrealized P&L marks open positions at the last traded price, switching to the exact payout once the market resolves.

Can I see the P&L of any Polymarket wallet?

Yes — everything settles on Polygon, so any wallet's complete track record is public. You can index the chain yourself, or query the pnl-series API for the finished daily series and stats.

Why does on-chain P&L differ from the Polymarket profile page?

Mostly resolved-but-unredeemed positions: Polymarket's UI realizes P&L at market resolution, while the strict on-chain ledger realizes it at redemption. The numbers converge once the wallet redeems. On-chain reconstruction also retains full history where the public API caps and purges older positions.

What is a good Sharpe ratio on Polymarket?

Event-driven P&L is lumpier than equity returns, so treat equity intuitions with care. Sustained Sharpe above 1 across hundreds of active days is strong; combine it with drawdown below ~30% of deployed capital and a multi-hundred-day history before taking a track record seriously.