ALPHA·DESK ← back

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.