Dashboard
Live spreads
Every open Kalshi, Polymarket and Polymarket US event, priced against the live order book after fees.
More spreads
Each spread is a set of bets that pays $1 whichever way it goes, and costs less than $1 after every platform’s fees. The difference is your profit.
Filters
| Event | You pay | Get back | Profit | Return | Size | Profit at size | Ends |
|---|
Risks, fees and how prices work
Prices can change or disappear before you act, and every leg is a separate order; if one doesn’t fill you’re holding the others unhedged. Capital stays tied up until the event resolves. Fees shown use Kalshi’s published fee schedule, each Polymarket market’s own fee settings and Polymarket US’s published fee formula; your actual fills may differ. ArbTrader never opens a trade on its own; the only order it sends without a fresh confirmation is an Auto-sell you switched on for a position you hold. Not financial advice.
Profit & loss
Right now
What the scanner sees at this moment, after every platform’s fees.
Balances
What you can trade with. Spreads that need more than this are marked as not available to you.
Open positions
Read live from your Kalshi and Polymarket US accounts.
Loading…
Your trade record
Spreads where every leg filled: the arbitrage itself, with what each actually made, read from your exchange accounts. Incomplete spreads (directional bets) and copy trades are left out; pick them from the menu. Real results only: nothing here is projected.
Loading…
Best hours to look
When spreads have appeared on each venue, from every spread this scanner has listed, shown in your local time. Darker means more spreads first appeared in that hour. The pattern firms up as the record grows.
What these numbers mean
If you sold now is what every contract would fetch in the live book right now, walking the bids for your full size, after an estimated fee. When a game is nearly decided, few people bid, so this can sit far below the market price (what the exchange shows, the middle of the bid and ask); it catches up when the market settles. On a complete set it’s normally a little below what you paid, because getting out early crosses the spread on every leg. At the result is what a complete set pays if you hold it to the end: that’s the profit the spread locked in.
AI Analyst
Screenshot any market, drop it in, and get an in-depth research report with a research-based chance for every outcome.
How the research works
It works with a screenshot from Kalshi, Polymarket or Polymarket US, on your phone or computer. We find the market and research it across the web the way you would if you had an hour: the latest news, injuries and lineups, form, stats, history and polls. You get a chance for every outcome worked out from that research (never copied from the market’s price), how confident it is, the evidence for and against, what could change it, and every source. It also runs the scanner’s checks for a real spread. Not financial advice.
- Screenshot the market in any appScreenshot it
- Drop it hereDrop it here
- Get the research and real chancesGet the research
Your screenshot stays on your device: it’s read in your browser and never uploaded. Only the words in it are sent, to find the market.
Or paste a link instead
Whale tracker
Big trades on Polymarket and Kalshi as they happen, with the odds each platform gives that outcome right now. This is what other people are betting, not advice: whales lose too, and a big trade can be one half of a hedge.
More filters
Loading the whale tracker…
Top wallets on Polymarket
Ranked by profit over the period, as Polymarket reports it. Past profit doesn’t mean the next trade wins. Tap a wallet to see what it holds now.
Auto-place paper
Set your rules. While this tab is open, every spread that meets them is placed on your connected Kalshi and Polymarket US accounts, the same way the one-tap ticket places it.
Venues: . Only spreads where every side is on a ticked venue. International Polymarket legs are never auto-placed.
Resting orders beta
For Kalshi spreads a cent or two from paying: it posts a limit order on one leg at a price that makes the whole set pay, and buys the other legs the moment it fills.
Orders are sent from this browser with your own keys; ArbTrader never holds your money. Paper results show on the results page, losses included.
Middles
Same game, two venues, two different total-points lines. Buy over the lower line on one venue and under the higher line on the other. If the final score lands outside the two lines, one side pays $1. If it lands between them (the middle), both pay: $2.
Kalshi ↔ Polymarket pairsAdvanced Matched for you; add your own here
Pairs are matched automatically: the same question on both platforms, with the same wording, the same numbers and the same deadline, priced in your feed with no confirming needed. Wording can still hide a different rule, so check both platforms’ rules before you trade one, and hide any pair that isn’t really the same. You can also add a pair by hand below.
Matched automatically
Add a pair yourself
Search for a market on each side, read both sets of rules, and confirm the pair. Confirmed pairs are priced in your feed as Kalshi YES + Polymarket NO (and the reverse) with both platforms’ fees taken out.
Kalshi
Polymarket
While ArbTrader is open
On every plan, in this browser: a pop-up when a new spread appears, and a notification if you’re in another tab or app.
Alerts
Get a message when a spread clears your thresholds. Alerts are sent at most once per spread every six hours, and at most 20 messages an hour.
Connect Kalshi to place spreads in one tap, see your balance and get early-exit alerts. It takes about 2 minutes.
Stuck on a key? Get 1-to-1 help in our Discord →
Kalshi Start here
- Open your Kalshi API keys. Sign in if it asks. It’s under your profile icon → Account & security → API keys. Open Kalshi ↗
- Click “Create key”. Name it ArbTrader and tick Trade. Leave everything else as it is, then click Create.
-
Copy the Key ID and paste it here.
It looks like 1a2b3c4d-5e6f-… Pasted the whole key here by mistake? It moves to the right box by itself.
-
Add the file Kalshi just downloaded.
It’s in your Downloads folder.
Click to pick the file, or drag it here
Can’t find the file? Paste what’s inside it
- Connect. It runs by itself once both are in. You’re done when it shows your Kalshi balance.
Is this safe?
Yes. The key can see your balance and place orders you confirm. It can’t withdraw money. It’s saved only on this device, and you can delete it on Kalshi any time. Lost the file or Key ID? Just make a new key.
Polymarket US
- Open the Polymarket US developer page. Sign in the same way you do in the Polymarket US app. Your account needs to be verified. Open Polymarket US ↗
- Click “Create API key”.
-
Copy the Key ID and the Secret and paste them here.
The Secret is only shown once.
- Click Connect.
Gemini New
- Open your Gemini API settings. Sign in to Gemini. Your account needs Gemini Predictions turned on. Open Gemini ↗
- Create an API key for your primary account. Give it the Trader role only (no Fund Manager, so it can’t move money). Leave “Requires heartbeat” off.
- Copy the API key and the secret and paste them here. The secret is only shown once.
- Click Connect. You’re done when it shows your Gemini balance.
Is this safe?
The key is saved only in this browser, and the secret never reaches arbtrader.co: each request is signed here and passed on. With only the Trader role it can place orders you confirm and read your balance, but it can’t withdraw money. Delete it on Gemini any time.
Polymarket (international)
Only to track your profit. There’s no key: you place these trades on polymarket.com yourself.
- Open polymarket.com and click your profile picture Top right, then Profile.
- Copy the address in the page link. It starts with 0x.
-
Paste it here and click Connect.
Want to see it done first? Watch the short videos ↗
Order log
Every ticket this browser has sent. Kept here only; your exchange account is the record that counts.
On a shared computer, click Disconnect when you’re done. If you think a key got out, delete it on Kalshi or Polymarket US.
State Guide
What we could establish about each US state, as of the date shown on each entry. This is a starting point for your own checking, not legal advice; rules here change often, and each platform’s own terms decide who may use it.
How this list worksScanner coverageRisks and fees
Scanner coverage
Every open Kalshi, Polymarket and Polymarket US event, checked in rolling sweeps. Spreads already in the feed are re-priced about every 15 seconds, and Polymarket’s order books are followed live.
What makes this list
A short list is the point. This looks for arbitrage and nothing else: no model, no fair-value estimate, no pick. Four things have to be true before a spread reaches this table.
- The structure is verified, not assumed. Exactly one listed outcome must win: a Polymarket winner-take-all event, Kalshi brackets covering every result, two nested brackets on the same number, or a Polymarket US 3-way result or full-league championship. Events where an unlisted result could win are skipped even when the prices look free.
- The price is the book, at the size resting in it. Every leg is priced at the live best ask and the quantity actually offered there, then each platform’s own published fee formula is taken off. A spread that clears before fees and not after never reaches this table.
- What is listed can be placed from here. One tap sends every Kalshi and Polymarket US leg as a fill-or-kill limit order, up to 40 legs, thinnest book first, signed in this browser with keys that never reach our servers. Nothing is sent until you confirm the ticket.
- It is honest about what it is not. It finds a spread about 0.3 seconds after prices move on the markets it follows live and re-prices the rest about every 15 seconds; dedicated bots still react in milliseconds. The spreads that survive here are the ones faster tools skip, on quieter venues, at sizes not worth a bot’s time, or with money tied up for weeks.