---
title: "Polymarket Esports Desk: a Power BI report on on-chain esports markets"
description: "A Power BI report on $315M of Polymarket esports stakes in September 2026: GGR and hold, who the book is, wallet segments, cohorts, exposure, closing line value and liquidity, built on dbt and DuckDB from an R2 data lake, with a written study of the month."
url: https://www.afonsomartins.com/polymarket-esports-desk
author: Afonso Martins
published: 2026-10-04
updated: 2026-10-04
---

# Polymarket Esports Desk

## A Power BI report on every esports fill Polymarket settled on-chain in September 2026

This is the second edition of my [Esports Trading Desk](https://www.afonsomartins.com/esports-trading-bi). The first one read Kalshi's esports markets, where the tape is anonymous and "the book" can only be treated as one big counterparty. Polymarket settles on Polygon, so every fill names the wallet that rested the order and the wallet that took it. That changes what a trading report can answer, because the book stops being an abstraction and becomes a list of accounts you can rank, segment and follow week to week, the way a sportsbook reads its customers.

[Open the full report as a PDF (10 pages)](https://www.afonsomartins.com/polymarket-esports-desk/polymarket-esports-desk.pdf) · [Read the written study of the month](https://www.afonsomartins.com/polymarket-esports-study)

| | |
|---|---|
| Taker stakes measured | **$315M** across **5.48M** on-chain fills |
| Accounts | **30,080** wallets, of which **13,236** made markets |
| Markets | **15,255** esports markets, every title Polymarket listed |
| Order book | **32** days of my research desk's own websocket capture, 72.6 GB streamed from R2 |
| Pipeline | Python extract on the desk's own decoders, **dbt on DuckDB** (39 models, 36 tests), parquet marts |
| Report | Power BI model generated from code: 117 DAX measures, a calculation group, 10 pages |
| Data checks | 21 checks on every build, plus the lake state the build read |

## Desk overview

![Desk Overview page](https://www.afonsomartins.com/polymarket-esports-desk/page-1.png)

The first page is the month at a glance. In September 2026 the book, meaning every wallet with a resting order, lost $1.6M on $315M of settled stakes, a hold of −0.50% (the study below puts a 95% interval of −1.52% to +0.45% on it, so a month is not long enough to call it a loss rather than a break-even). That is the opposite of what the Kalshi edition found, and it comes almost entirely from in-play trading: 79% of the money traded after the scheduled start, where the book gave back 0.94%, while before the start it held +1.20%. The scorecard compares the last seven days with the seven before through a calculation group, and the sparklines and hold bars in the table are SVG written in DAX.

## Who is the book

![Who Is the Book page](https://www.afonsomartins.com/polymarket-esports-desk/page-3.png)

This page does not exist in the Kalshi edition, because Kalshi does not say who is on the other side. Here 13,236 wallets made markets, and the liquidity is spread wide: the ten largest makers made 15% of the volume and half of everything traded came from the largest 110 (HHI 44). Those ten roughly broke even on the flow they took (+0.10%), so the month's losses sat with the rest of the book, which held −0.60%. Wallets are pseudonymous in the model: the warehouse keeps the addresses, and Power BI only ever sees a key and a label such as MM-01.

## Customers

![Customers page](https://www.afonsomartins.com/polymarket-esports-desk/page-4.png)

Grouped by what they staked in the month, 485 wallets with $100k or more placed 72% of all taker stakes and finished +0.8% against the book, while the 13,462 smallest accounts got back −11.9%. The largest 1% of takers alone placed 63% of the money. The cohort heatmap is the part a CRM team would look at first: of the wallets that first traded in the second week of the month, 38% traded again the following week and 28% the week after.

## Margin and hold

![Margin and Hold page](https://www.afonsomartins.com/polymarket-esports-desk/page-2.png)

Split by the price takers paid, the favourite-longshot bias is there on-chain too: takers who bought contracts under 20c got back −8.4% on settled stakes, against +2.7% for favourite backers at 60c and up. The under-20c band is small, so on its own it proves little; the clearer evidence is in the middle, where takers paying 20 to 39c lost −11.9% and takers paying 60 to 79c made +5.2%, both with intervals that exclude zero. The insight sentences on this page are DAX measures, so they rewrite themselves for whatever title, market type or date range is selected.

## Exposure

![Exposure and Liability page](https://www.afonsomartins.com/polymarket-esports-desk/page-6.png)

A trading desk wants to know what it is carrying when a match goes live. For each of the 14,953 markets scheduled in September 2026 the report nets the resting side's position at the scheduled start and takes the worse of the two outcomes. Summed, that is $23.2M of liability at the start. The largest single market could have cost the book $401,808, 466 markets carried more than $10k, and the ten largest positions hold only 10.9% of the total. The table drills through to Market Replay, so any row opens that market's price, flow and liability hour by hour.

The chart on the left asks whether lopsided money knows something. When pre-match takers piled onto one side, that side won 55.5% of 2,597 markets, which looks like an edge until you compare it with the price: the closing line had already given that side 55.6%. What the crowd did get right was the timing. Those takers beat the closing line by +2.3%, and the book held −1.86% on those markets against +0.18% on balanced ones, because makers quoted the old price before it moved.

## Liquidity

![Liquidity page](https://www.afonsomartins.com/polymarket-esports-desk/page-7.png)

Spread and depth come from my research desk's own recorder, not a vendor feed. Each market's top of book is rebuilt minute by minute from the venue's price updates and time-weighted per hour, and depth is read from the full-book snapshots the venue sends after every trade.

## Data quality

![Data Quality and Lineage page](https://www.afonsomartins.com/polymarket-esports-desk/page-9.png)

The fills come from four builds of the same decoder, the one my research desk audits against a reference archive, and wherever two builds overlap they agree fill for fill. Maker and taker P&L net to zero to the cent. Every on-chain payout matches the venue's own resolution message. The part I care most about is the second tape: the book's hold measured again from the venue's prints, which my desk recorded on its own, independently of the chain, gives the same answer. The page also prints the digest of the R2 lake state the build read, so any number in the report can be traced back to the exact files behind it.

## The written study

[![The cover of the September 2026 study](https://www.afonsomartins.com/polymarket-esports-desk/study-cover.png)](https://www.afonsomartins.com/polymarket-esports-study)

The dashboard shows what happened. I also wanted to know which of those numbers would survive a second month, so I wrote the month up as a paper: [Who wins the book? Margin, customers and informed flow in Polymarket's esports markets](https://www.afonsomartins.com/polymarket-esports-study), which you can read on the web or [as a 16-page PDF](https://www.afonsomartins.com/polymarket-esports-desk/polymarket-esports-september-2026-study.pdf). It reads from the same marts as the report, so the two agree to the cent, and it adds the inference a dashboard leaves out.

Markets on one match settle together, so every hold and return comes with a 95% interval from a bootstrap that resamples whole matches (2,834 of them) instead of single markets. The closing line gets a calibration test: across 7,116 markets the recalibration slope is 1.007 (standard error 0.034), consistent with a perfectly calibrated price. And the one-sided-flow question from the Exposure page gets a direct test against the price, with the answer above. It also closes two gaps the dashboard leaves open. Liquidity rewards, which Polymarket pays makers outside the chain, came to $0.22 across 188 markets for the whole month, so maker P&L here is effectively the makers' full economics. And the 1,383 matches that also traded on Kalshi, which my desk records too, put the two venues side by side: their prices sat about 1c apart, and Polymarket moved first on 71% of markets (95% interval 69% to 73%). The paper ends with every data-quality check, the full measure dictionary and the lake state behind the build, and the script that writes it formats every number from the warehouse, so the October edition only needs the pipeline run again.
