Google Regulates Prediction Markets Now
I matched every dual-listed contract on Kalshi and Polymarket, and the ban is worth exactly zero cents.
There was a Chrome extension called PolyArbitrage that did one narrow, useful job: while you browsed an event on Polymarket, it hunted down the matching market on Kalshi and printed both prices side by side with the spread, so you could see the free nickel before somebody else picked it up.
There were dozens of tools like it, odds overlays, portfolio trackers, copy-trade mirrors, stop-loss managers, and as of August 1st they’re all contraband. Google updated the Chrome Web Store policies to prohibit extensions that facilitate real-money trading on prediction outcomes, gave developers until August 1st to comply (rebrand from “arbitrage” → “simulated analytics”), and started pulling listings.
The same date was supposed to be a much bigger deadline. Minnesota passed a law in May making it a felony, up to five years and a $10,000 fine, to operate a prediction-market platform in the state, effective August 1st.
Fortunately (or unfortunately, depending on where you stand) that ban never arrived, as a federal judge blocked it two days early on the argument that the Commodity Exchange Act preempts state law, in a case where Kalshi, Polymarket, and the CFTC were all on the same side.
So, let’s tally up what happened on August 1st: a state legislature tried to ban the venues and got stopped in federal court, while an ad company banned an entire class of trading software by editing a policy page.
At this point, a pretty important question comes up:
If the arb bots just died, shouldn’t the spread between Kalshi and Polymarket show it?
Thankfully, it’s a measurable question, and I’ll get to the measurement, but it’s worth being precise about what actually died first, because “Google banned trading bots” gives the bots more credit than they earned.
What on Earth is a “Browser Bot”?
The extension ecosystem around these venues was bigger than most people realize: odds converters that reprinted prices in American or decimal format, wallet trackers that showed you what the accounts you follow were buying, stop-loss managers promising professional-grade risk management from a browser popup, and so forth.
An extension reads prices after the site posts them, injects its own buttons next to the real ones, and when it wants to act, it either simulates your click or calls the venue’s own client-side endpoints from within the page, wearing your session cookie.
That architecture, while effective, put a hard ceiling on how fast or how big these things could ever get. The loop is: venue updates, page renders, extension reads, extension decides, extension clicks.
On a good day that’s a few hundred milliseconds behind the book, on a normal day it’s seconds, and the whole thing is throttled by the same public rate limits your browser tab gets, on one retail account, at retail size.
The full stack looks like this (diagram below).
Google’s policy deleted exactly the top layer of that diagram, but everything underneath is untouched.
Kalshi uses a real central limit order book behind public REST and WebSocket APIs, and Polymarket matches orders off-chain against a book of its own before settling on-chain; so if your bot spoke to the book directly, August 1st changed nothing for you.
Who’s Trading This Stuff, Anyway?
The marginal spread on both venues stopped belonging to retail tooling a long time ago.
Keep reading with a 7-day free trial
Subscribe to Alphanume Research to keep reading this post and get 7 days of free access to the full post archives.


