found a pretty major data bug it turns out almost every major dashboard has been double-counting Polymarket volume (not related to wash trading) this is because Polymarket's onchain data contains redundant representations of each trade. receipts ⬇️⬇️
here’s a simple example transaction 0xbf47fbf1bc113a7ec50a1103921265ba5d8fbe6dfb4d12a1c78c61c8fdb195bf this is a trade of YES tokens for $4.13. but it contains two OrderFilled events for $4.13 each. so most dashboards report this as $8.26 volume
this bug inflates *both* types of volume metrics commonly used for prediction markets: 1. notional volume (the # of contracts traded) 2. cashflow volume (the $ value traded at time of trade) this bug inflates both metrics for all trades on the platform
polymarket’s data has been notoriously confusing for crypto data analysts the data has too many layers of interacting complexity to untangle using just a block explorer
this confusion led to widespread double-counting of volume the core issue = Polymarket emits separate OrderFilled events for the maker and taker of each trade most dashboards compute volume by summing these events. but this sums two redundant representations of the same trades
to understand this problem, I built a simulator that shows how each of Polymarket’s 8 trade types work this simulator also contains 4 example trades for each trade type that you can simulate [link in article below]
beyond the simulator, I also 1) audited the parts of Polymarket contracts that emit events and 2) examined many invariants in Polymarket onchain data each line of evidence points to the same conclusions about double-counting also note that this bug is unrelated to wash trading
a more detailed view these results can be found in writeup below we hope this article can be a helpful guide to anyone who is analyzing Polymarket data
we have validated this information with multiple dashboard creators and data analysts @AlliumLabs, @DefiLlama, @blockworksres are now updating their Polymarket dashboards to get rid of the double counting
massive thanks to @datadashboards @AlliumLabs @smyyguy @chaoslabs @notawizard @ciamac @danrobinson @FrankieIsLost for feedback + conversations that helped untangle this data
all circumstances!
your data was very helpful for diving into this problem 🫡
yea there were always a few interesting quirks with the data. glad to now see some order in the chaos
gwat em
maybe it was iykyk for a lot of ppl. but it wasn't documented and defillama/allium/blockworks + many dune dashboards were double-counting! see examples in article appendix
isn't about Polymarket's website. it's about the common dashboards that ppl use for tracking Polymarket volume. I don't know the internals of your website 2. how much volume do you believe occurred in this tx: 0xbf47fbf1
this post is about the dashboards that ppl use for tracking Polymarket volume. the bug affects both notional volume and cashflow volume
this investigation was just about 3rd party dashboards
yes the root cause is mostly just data being hard. the post emphasizes this multiple times I think the double-counting was an honest mistake due to this difficulty







