Scoring methodology

The exact math behind every number on the smart-money leaderboard — what is counted, what is excluded, and why. No black boxes: every score on the site can be recomputed from public on-chain data.

What gets scored

A wallet's metrics are computed over its scored sample — resolved, informative BUY entries only:

  • BUY fills only. Sells are exits, not predictions, and are excluded from every metric.
  • Only markets that have resolved with an unambiguous outcome count — open positions are never part of the track record.
  • Entries priced at 90¢ or above are dropped: paying ≈$0.99 for a ≈$1.00 payout is carry, not a forecast, and would let "sure-thing" wallets fake a perfect record.
  • A minimum of 30 scored entries is required before any metric is shown.
  • "Up or Down" micro-markets (5-minute crypto direction bets) are excluded entirely.
  • History comes from the public Polymarket Data API, which caps the retrievable activity per wallet — extremely high-frequency accounts may be scored on their most recent trades only.

Metric formulas

For each scored entry, price is the entry price (0–1) and outcome is 1 if that side won, 0 if it lost. Capital is in USDC.

  • ROI = Σ(outcome − price)·size / Σ(price·size)Realized return on deployed capital. Capital-weighted: bigger positions move it more.
  • win rate = wins / nShare of scored entries that resolved in the wallet's favour. Only readable next to the average entry price — 5% wins at 1¢ entries is positive edge, 90% wins at 95¢ is not.
  • edge = mean(outcome − price)Average per-trade edge in probability points — the honest headline skill number. Unlike ROI it is not leveraged by longshot odds.
  • Brier = mean((price − outcome)²)Calibration of the MARKET on this trader's picks, not of the trader. Low Brier = the market already priced those bets correctly; a high Brier with a high win rate means the trader systematically beat the market price.
  • z = Σ(outcome − price) / √Σ price·(1 − price)Significance score test against H₀ "no edge", using the theoretical Bernoulli variance of each entry. Tiers require the two-tailed p-value below 0.01.

Composite score (default ranking)

Raw ROI rewards dust wallets farming sub-cent longshots, so the leaderboard ranks by a confidence-and-capital-discounted edge instead:

composite = 100 · edge · sig · cap · penalty

  • edge = mean(outcome − price)Signed skill per trade — a losing wallet stays negative and sorts below zero.
  • sig = min(|z| / 4, 1)z
  • cap = min(log10(1 + capital$) / 6, 1)Economic weight: logarithmic in scored capital, saturating at $1M. A $0 track record scores ≈ 0 no matter how perfect.
  • penalty = 0.25 if sniper else 1Resolution snipers keep a quarter of their score — visible, but never above genuine forecasters.

Example: edge +10pp, z = 4, $10k of scored capital, not a sniper → 100 × 0.10 × 1.0 × 0.67 ≈ +6.7. The same edge on $50 of dust → ≈ +2.8 × 0.1 ≈ 0.3.

Tiers

Tier flags are recomputed on every rescore. Market-maker-style wallets (more than 10 trades per resolved bet) never qualify, and wash-trading suspects are excluded from all surfaces.

  • Sharp p < 0.01 · ROI > 5% · Brier < 0.22 · Brier CI < 0.25 · churn ≤ 10 · not a resolution sniper
  • Profitable p < 0.01 · ROI > 3% · churn ≤ 10

The default leaderboard additionally hides micro wallets (average entry under $10 and total scored capital under $500) — their records are statistically real but not economically copyable. The "include micro wallets" toggle lifts the gate.

Resolution snipers

Some wallets "win" by buying effectively-decided markets at stale quotes minutes before close — latency, not forecasting. When a wallet has at least 10 entries with a known market-close timestamp and more than half of them land within 60 minutes of close, it is flagged a sniper: barred from the Sharp tier, its composite score multiplied by 0.25, and badged amber on the leaderboard.

Update cadence

Every page shows when its data was last recomputed. The pipeline runs continuously:

  • On-chain trades: ingested every 15 minutes.
  • Market resolutions and outcome prices: every 6 hours.
  • Live whale position capture (track record ground truth): every 10 minutes.
  • Wallet scores: active wallets re-scored every ~6 hours; the full set at least weekly.

Known limitations

  • Discovery selection bias: some wallets enter tracking because they already won (top-trader mining, external leaderboards). Historical records of such wallets are conditioned on winning; the forward track record accruing after discovery is the cleaner signal.
  • Live position capture is forward-only — bets resolved before a wallet was discovered enter its track record via fill-derived backfill, which mirrors the scoring sample (BUY entries below 90¢).
  • Sells are not netted against entries: a position exited early still counts as a full win or loss at resolution, exactly as in the headline metrics.
  • Outcomes are binarized at a 0.95 resolution price — rare ambiguous or disputed resolutions are skipped entirely.

For data sources, wallet discovery routes, and what WhaleGraph is not, see About.