When a wallet's record is only half a record
This site runs a desk that screens Polymarket wallets. When I looked at the shape of the data it ships, one thing stood out that I had not thought about much: a wallet can look complete and still be missing a piece of its history, and the missing piece is not random.
These are the numbers from the current Polymarket snapshot, which covers 100 wallets. Every figure below is counted from the snapshot files rather than estimated.
The record count is not the trade count
The busiest wallet in the snapshot, an address starting 0xb628, has a record of 13,327 decided trades. Another, starting 0xfc1b, has 10,423. Those are real counts of settled positions, not wins on a leaderboard screen.
The distribution is badly skewed. Only 14 of the 100 wallets have 1,000 or more decided trades. Seventy one have fewer than 100. That second number matters more than it looks, because a wallet with 40 trades can top a weekly leaderboard purely on luck, and no amount of chart reading on my side changes that.
What partial actually means
Here is the part worth understanding. Each record carries a partial flag, and in this snapshot 19 of the 100 wallets are marked partial. That flag is not a rounding note. It means some of that wallet's position history was read and some was not.
There is a second field, refused, counting how many reads were declined. Four wallets have a non zero count. The largest is the wallet starting 0x7930, with 6,821 decided trades, 39 refused reads, and an equity of about $4.6 million.
So a record can be large and still be incomplete. Both numbers are true at once: this wallet won 3,767 of 6,821 decided trades, and 39 reads never came back. If those 39 were losses, the record gets slightly worse. If they were wins, it gets slightly better. The honest position is that the scoreboard has a hole in it, and you should know the size of the hole.
What would have changed the win rate, and what did not
My first instinct about how a rate gets flattered was flat trades. A position that closes exactly at entry is neither a win nor a loss, and it is the easiest thing to quietly drop. In this snapshot there are 26 flat trades spread across 13 of the wallets, so the effect exists.
Then I measured it instead of assuming. The biggest move any wallet's rate would take from counting flats honestly is 0.9 percentage points, on a wallet with 150 wins, 106 losses and 4 flats. Most others shift by a fraction of a point. So flats are real but small, and I was wrong to treat them as the story.
The missing reads are the bigger issue, and the same lesson applies in reverse. On this snapshot they are 39 reads on one wallet, and even a worst case swing of 39 trades on a 6,821 trade record is under 0.6 points. The flag matters for trust, not usually for the number.
The curve that never arrives
Two structural gaps matter more than either of those, and both are visible in the file layout.
The first is temporal. Each wallet has a curve field, which is meant to say how equity moved over time. In all 100 snapshot files, that curve contains exactly one point. A one point curve is not a trend, it is a sample. I can tell you what a wallet holds now and how many of its trades settled, and I cannot tell you when it made the money.
The second is discovery. The wallets on this desk were collected by screening, not by sampling the whole venue. That is the right way to find interesting accounts, and it is the wrong way to estimate how common a skill is. Every number here describes the screened set, never Polymarket as a whole.
How I read a wallet now
Starting from the raw structure rather than the summary, in this order:
- Decided trades first. Under 100 and I stop reading, whatever the percentage says.
- Then the partial and refused fields. A hole of 39 reads on a 40 trade record changes everything. The same hole on a 13,000 trade record barely moves it. Same flag, different meaning, because the denominator is different.
- Then current positions and notional. A wallet with 53 open positions and $5.4 million of notional is highly exposed right now, whatever its historical rate was.
- Never the win rate alone. A 55 percent win rate means nothing without knowing whether the 45 percent were scaled the same way.
Why I am writing this down
Because the tempting move with a dataset like this is to rank the wallets and call it analysis. The ranking is easy to build and it hides exactly the properties you need to judge whether the top of the list means anything: sample size, coverage, and whether the history is even complete.
The desk already marks a partial record with a small floor label on the wallet view, so the gap is visible beside the win and loss numbers rather than buried in the JSON. It does not yet show the refused count, which is the next thing I want added. Either way the principle holds: a number you cannot audit is just a nicer looking guess.