PnL (Profit and Loss)
How we calculate the money a trader has made or lost on Polymarket.
Definition#
PnL measures total gains minus losses across all prediction market positions, including mark-to-market value of open positions at current prices. It answers the fundamental question: did this trader make money?
How It's Calculated#
For each position, we compute:
- Cost basis — the total USDC spent buying outcome tokens for this position (sum of all buy filled orders)
- Payout — for resolved markets, the terminal settlement (winning tokens pay $1, losing pay $0). For open markets, the current value of held tokens at current market mid-prices.
A trader's total PnL is the sum across all their positions (resolved and open).
On leaderboards, PnL follows the selected time window. A 7-day Top PnL row is the trader's PnL over the last 7 days, not their all-time PnL.
Worked Examples#
Profitable Trade#
Alice buys 100 “Yes” tokens at $0.60 each (cost = $60). The market resolves “Yes” — she receives $100. PnL = $100 − $60 = +$40.
Losing Trade#
Bob buys 200 “No” tokens at $0.35 each (cost = $70). The market resolves “Yes” — his “No” tokens are worth $0. PnL = $0 − $70 = −$70.
Multiple Positions#
Carol trades across 3 markets, netting +$120, −$45, and +$30. Her total PnL = $120 − $45 + $30 = +$105.
USDC Conversion#
On-chain USDC amounts are normalized into human-readable dollar values. Since USDC is pegged 1:1 to USD, the displayed amounts are effectively in US dollars.
Cumulative PnL Chart#
The PnL chart on a trader profile plots cumulative mark-to-market PnL over time. Snapshots are taken at 12-hour intervals (midnight and midday UTC), then aggregated to daily end-of-day values. The slope shows whether the trader is improving, declining, or flat.
PnL includes all positions. Resolved markets use terminal settlement prices (0 or 1) from the resolution date onward. Open positions are valued at prices derived from filled orders — a volume-weighted average of recent trades near each 12-hour boundary.