I rebuilt 0xinsider around Polymarket sports and esports data

0xinsider is now Polymarket analytics for sports and esports. What 149,700 wallets and 411,770 large buys say, with every query public.

Trevor I. Lasn Trevor I. Lasn
· 5 min read
Building 0xinsider, real-time Polymarket analytics for sports and esports.

I’m building 0xinsider because I love data, and Polymarket has some of the best public data I’ve worked with. Every trade is tied to a wallet. Every fill settles on chain. Every market ends in a hard yes or no.

That’s millions of decisions with money behind them and a known answer at the end. I don’t know another dataset like it.

0xinsider started in February as a live feed of large trades on Polymarket and Kalshi. It’s now analytics for Polymarket sports and esports markets, because sports markets settle every day, and a market that settles is a data point with an answer. Kalshi is gone. Its trades are anonymous, so there’s no wallet to follow.

Here’s the dataset today:

149.7K
Polymarket wallets tracked
89.1M
positions reconstructed, reconciled on chain
40+
metrics per wallet
2.2K
days of daily P&L history

As of September 23, 2026. Source: 0xinsider.com/transparency

None of it arrives clean. Raw fills aren’t positions. You have to match entries to exits, handle splits, merges and redemptions, and mark every open position to market every day.

I got that wrong for a while. My first P&L rollup added up per-market rows, and on some wallets it overstated the total by 7 to 10 times, sometimes with the wrong sign. Realized P&L now comes from Polymarket’s own position accounting, and I wrote up why two tools can disagree on the same wallet.

The first thing I wanted to know was whether the prices are even wrong. Mostly, they aren’t.

Price paid vs. how often that side won, Polymarket sports

Bar: how often the side won. Tick: the average price paid. On a calibrated market they meet.

0–10¢
won 3.0% at 6.5¢
10–20¢
won 20.0% at 15.4¢
20–30¢
won 24.8% at 25.4¢
30–40¢
won 36.7% at 35.3¢
40–50¢
won 45.8% at 45.4¢
50–60¢
won 53.4% at 54.1¢
60–70¢
won 64.3% at 64.4¢
70–80¢
won 75.5% at 74.5¢
80–90¢
won 84.3% at 84.7¢
90–100¢
won 92.8% at 93.5¢

411,770 large buys, $8.21B, April 2 to September 11, 2026. Source: github.com/0xinsider/research

Across 411,770 large sports buys worth $8.2 billion, people paid 60.6¢ on average and their side won 60.7% of the time. That’s a miss of two hundredths of a point. The one range that clearly loses is under 10¢, where long shots paid 6.5¢ and won 3% of the time.

Sports turned out to be the well-priced part of Polymarket. Large buys outside sports miss their price by 6 to 10 points in most ranges.

So if the prices are that good, who’s making money? Not most people.

Where the money went, 36,149 Polymarket sports wallets

Wallets with 20+ settled sports markets, ranked by realized P&L. Bars grow left for losses, right for profit.

Top 1%362 wallets
+$395.1Mmedian +$510,258
Next 9%3,258 wallets
+$156.0Mmedian +$28,536
Next 40%14,479 wallets
+$30.2Mmedian +$1,016
Next 40%14,440 wallets
-$30.7Mmedian -$1,026
Bottom 10%3,610 wallets
-$401.1Mmedian -$28,579

48.8% of these wallets are in profit; the median is -$8. Snapshot September 13, 2026. Source: github.com/0xinsider/research

Of the 36,149 wallets with 20 or more settled sports markets, 48.8% are in profit and the median wallet is down $8. The top 1%, 362 wallets, hold 68% of all the profit. The bottom 10% lost $401 million between them.

That gap is what 0xinsider’s grades try to measure. Every tracked wallet gets a grade from S to F, rebuilt every day from its settled P&L, and realized profit is about 95% of it.

A grade like that is easy to compute and easy to fool yourself with. Win rate is the classic trap. A wallet that only buys at 85¢ wins about 85% of the time and has shown no skill at all. The number that holds up is the gap between how often your side won and the price you paid for it.

So I tested it on 67,531 buys of $10,000 or more, using the grade each wallet already held on the day it traded, before the market settled.

How far each grade beat or missed the price it paid

Dot: edge in points (win rate minus price paid). Line: 95% interval, bootstrapped over markets. Center line: the market.

S, A, B24,610 buys
+1.57 pts[+0.32, +2.82]
C9,223 buys
+0.53 pts[-1.93, +2.81]
No grade yet16,592 buys
-0.13 pts[-1.81, +1.57]
D, F17,106 buys
-2.06 pts[-3.61, -0.45]
-4 pts0+4 pts

67,531 buys of $10,000+, June 1 to September 11, 2026, graded as of the day each cleared. Source: github.com/0xinsider/research

S, A and B wallets beat their price by 1.57 points. D and F wallets missed it by 2.06. C wallets and ungraded ones were indistinguishable from the market. The intervals are bootstrapped over markets rather than trades, because four wallets buying the same side of the same game are one observation.

1.57 points is small, and it should be. On a market this well priced, a study that found 10 points would be describing a bug in its own method.

My favorite detail is that the sample keeps growing. Every trade in it sits on a market that already settled, so the universe gets bigger whenever an open market resolves. Three runs on the day I published returned 67,516, then 67,517, then 67,531 trades. The edge came out at 1.57 points all three times.

Every query, raw output and bootstrap is public. This one rebuilds the intervals above from a committed CSV, with no database and nothing to install past Python:

Terminal window
git clone https://github.com/0xinsider/research && cd research/grade-vs-price && python3 bootstrap.py

About 20 seconds later:

cohort trades markets edge_pts 95% CI
S/A/B 24610 5946 1.57 [+0.32, +2.82]
C 9223 1986 0.53 [-1.93, +2.81]
D/F 17106 4476 -2.06 [-3.61, -0.45]
no grade 16592 5250 -0.13 [-1.81, +1.57]

On 0xinsider, all of this becomes a board. Every sports and esports game shows the moneyline on each side next to how much money from profitable wallets is sitting on it, live, across the NFL, NBA, MLB, NHL, soccer, tennis, UFC, CS2, LoL, Dota 2 and Valorant. Every wallet has a profile with its grade, P&L and the rest of its metrics. The boards, grades and profiles are free.

If you’d rather pull the data yourself, there’s a read-only REST API, an MCP server, and SDKs for Python and Go. The research library has the rest of the studies, and the methodology page says what every number is made from.

None of this is financial advice. Every number here describes what already happened.


Trevor I. Lasn

Building 0xinsider, real-time Polymarket analytics for sports and esports.


Found this article helpful? You might enjoy my free newsletter. I share dev tips and insights to help you grow your coding skills and advance your tech career.



This article was originally published on https://www.trevorlasn.com/blog/0xinsider-polymarket-sports-esports-analytics. It was written by a human and polished using grammar tools for clarity.