Cent Signals

How does Polymarket calculate profit?

Last updated August 2026 · The Cent Signals desk

TL;DR

Polymarket calculates profit per position, not per wallet, and it publishes two separate figures for every position. One counts shares already closed out, the other marks the shares still held against the current price. Reading either one on its own produces a wallet total that is wrong, sometimes by millions of dollars and by sign. Cent Signals is a free, independent desk that tracks Polymarket activity and explains how prediction markets price probability, not trading advice.

Polymarket reports profit per position, in two fields

There is no single profit number stored against a Polymarket account. The platform's public data API returns a list of positions for an address, and each entry in that list carries its own economics: the size held, the average price paid, the current price, the current value, and two distinct profit and loss fields named realizedPnl and cashPnl. Every profit figure you see on a leaderboard or a third-party tracker is something that tool assembled from those per-position rows.

The two fields are not rival estimates of the same quantity. They describe different shares. A trader who acquires 100 shares and closes out 60 of them before the market resolves has booked a result on those 60, which is what realizedPnl captures, while the remaining 40 are still exposed to the price, which is what cashPnl captures. The fields are complements. Added together they describe the position; read singly, each one silently drops a part of it.

realizedPnl and cashPnl, side by side

The table sets out what each field counts and how each behaves, based on the position records the public endpoint returned on August 3, 2026.

AttributerealizedPnlcashPnl
Which shares it coversShares that left the position before resolutionShares still held in the position
How it is computedProceeds on exit minus cost basis of those sharesCurrent value minus cost basis of what remains
When it changesOnly when part of the position is closed outContinuously, as the market price moves
On a position carried into a winning resolution0, nothing was closed out earlyThe full gain, priced at $1.00 per share
On a position carried into a losing resolutionWhatever earlier exits booked, positive or negativeNegative the cost basis of the remaining shares
Fees and liquidity rewards (as of 2026)Not shown as a separate lineNot shown as a separate line
Safe to read as a wallet total on its ownNo, it omits everything still heldNo, it omits everything already closed out

What the gap looks like on a real wallet

On August 3, 2026 we read the first 500 position records the public endpoint returned for one large wallet, an address the Cent Signals leaderboard tracks, and summed each profit column separately. The realizedPnl column came to positive 1,450,668 dollars. The cashPnl column over the same 500 rows came to negative 3,803,321 dollars. On 471 of those 500 positions the two fields differed by more than 1,000 dollars each. Two trackers reading the same wallet, on the same day, from the same endpoint can publish totals five million dollars apart and disagree about whether the address is up or down, with neither of them miscalculating anything.

Two individual rows show why. A position carried into a winning resolution listed realizedPnl of 0 and cashPnl of positive 6,461 dollars: nothing had been closed out early, so all of the result sat in the mark-to-price field. A different position, in a market that resolved against it, listed cashPnl of negative 1,394 dollars next to realizedPnl of positive 6,488 dollars: most of that holding had been exited earlier at a gain, and only the leftover shares expired at zero. A tracker summing cashPnl alone would file that second position as a loss. A tracker summing realizedPnl alone would file the first one as nothing at all.

One further wrinkle shapes any total built this way. Of the first 500 rows returned for that wallet, 482 sat at a current price of zero, which is a far heavier concentration of expired holdings than a profitable address would suggest. The pattern is consistent with redeemed winners leaving the listed set while worthless shares stay behind in it, so the visible list is not a neutral sample of what an address has done. It is the residue of what has not been cleared away.

Why a leaderboard figure and a wallet's own figure diverge

Beyond the field choice, four things separate any published ranking from what an address actually kept. Fees are the first: as of 2026 Polymarket charges a taker fee on orders that remove liquidity while resting maker orders pay none, and the per-position data carries no separate fee line, so a heavy taker keeps less than a position-derived total implies. The mechanics are set out in Polymarket fees explained.

Second, liquidity rewards paid to resting orders arrive outside the position record, so a market-making address can show a modest position total while its actual takings sit elsewhere, a distinction covered in makers vs takers on Polymarket. Third, a wallet is an address rather than a person: one participant can operate several proxy wallets, so a per-address ranking measures addresses, not traders. Fourth, the window matters. A figure covering thirty days and a figure covering all time answer different questions, and a ranking rarely says which it is showing.

These are the reasons a profit ranking reads as a description of visible activity rather than a scoreboard of skill. What the public record does and does not support about persistent performance is laid out in who actually wins on Polymarket.

How Cent Signals computes the profit figures it publishes

Applying the same scrutiny to our own numbers: the profit column on the Cent Signals leaderboard and on each trader page is built by summing the cashPnl field across up to fifty positions per wallet, ordered by current value, and keeping only positions that map to a market held in the same snapshot. It is therefore marked profit and loss on the largest visible holdings at snapshot time. It is not a lifetime total, it does not net out fees, and by the argument above it omits whatever those wallets closed out earlier.

Across the 80 wallets in the July 31, 2026 snapshot, 35 carried a non-zero figure on that basis. Eighteen of the 35 were positive and 17 were negative, and the five largest positive figures accounted for about 86 percent of all positive marked profit in the set. That concentration is consistent with the wider pattern described in how concentrated Polymarket profits are. The full collection rules, including the sampling caps, sit on the methodology page.

Frequently asked questions

How does Polymarket calculate profit?

Polymarket's public data API reports profit per position rather than as a single wallet total, and it reports two different figures. The realizedPnl field counts profit and loss booked on shares that left the position before the market resolved. The cashPnl field marks the shares still held against the current price, so it equals current value minus cost basis. A wallet's full picture is the two added together, not either one alone.

What is the difference between realizedPnl and cashPnl on Polymarket?

They cover different shares in the same position. realizedPnl covers shares already closed out and is unaffected by what happens to the rest. cashPnl covers the shares still open and moves with the price. On a position carried into a winning resolution the API showed realizedPnl of 0 and cashPnl of positive 6,461 dollars, because nothing had been closed out early. On a separate position carried into a losing resolution it showed cashPnl of negative 1,394 dollars alongside realizedPnl of positive 6,488 dollars, because most of that position had been exited earlier at a gain.

Why do two Polymarket profit trackers show different numbers for the same wallet?

Because they sum different fields over different sets of positions. Reading the first 500 positions the endpoint returned for one large wallet on August 3, 2026, the realizedPnl column summed to positive 1,450,668 dollars and the cashPnl column summed to negative 3,803,321 dollars. Two trackers reading the same wallet on the same day can therefore publish figures that differ by millions and by sign, without either one making an arithmetic error.

Does Polymarket's profit figure include fees and rewards?

The per-position fields describe position economics and do not present a separate fee or reward line. As of 2026 Polymarket charges a taker fee on orders that remove liquidity from the book while maker orders pay none, and it pays liquidity rewards to some resting orders. Any wallet total assembled from position data alone will therefore sit above the amount actually kept by a fee-paying taker, and below it for a wallet earning rewards.

Can a Polymarket wallet total be treated as one person's profit?

Not reliably. A wallet is an address, not an identity. One participant can hold several proxy wallets, and a single address can be operated by more than one person, so a per-wallet figure measures an address rather than a trader. Positions that have been redeemed also drop out of the visible set over time, which means any total assembled from currently listed positions describes what the endpoint still shows rather than a wallet's complete history.

Related reading

This explainer is editorial reference about how public prediction-market data is reported. It is not financial advice, a tip, or a recommendation to take any position, and Cent Signals does not facilitate trades. For how the Polymarket figures on this site are collected, see the methodology page.