Methodology
How we compute PnL
A leaderboard win rate is easy to fake. We count the trades a trader would rather you didn't.
The problem with public leaderboards
Most "90% win rate" profiles are coin-flippers. They redeem winning positions (which shows up as a closed, profitable trade) and quietly abandon losing ones (which never get redeemed, so a naive counter ignores them). The result is a win rate that looks elite and means nothing.
What we actually do
- Pull the wallet's full on-chain activity from the Polymarket Data API — every trade, split, merge and redemption, not just the redeemed winners.
- PnL = realized + open. Realized PnL comes from resolved and closed positions; open PnL is the current mark-to-market value of positions still live. We show both so a wallet can't hide losses inside unredeemed bags.
- Win rate by resolution. We count a market as a loss if the trader's side resolved against them — whether or not they bothered to redeem. Abandoned losers count.
- Reconciled to the cent. Our total is checked against Polymarket's own portfolio value endpoint. If the numbers don't line up, we don't publish them.
- Freshness-weighted. Recent performance (last ~90 days) is weighted higher, so a wallet that earned its reputation a year ago and has since gone cold can't coast on old glory.
What we can't see — and say so
On-chain data is honest but incomplete. We can't see a trader's off-chain or centralized-exchange activity, and value can be moved between wallets to dress up a profile. When a wallet's flows look like a transfer or wash pattern, we flag it rather than score it as edge. We'd rather show uncertainty than a confident wrong number.
Related: how a real profit becomes your loss (slippage) · why we test forward, not just backward.