Someone messages me a screenshot of the same event priced 62 on one venue and 67 on another, and the note is always some version of the same thing. Free five cents, right. I get why it looks that way. Two venues, same yes-or-no question, a gap sitting there in daylight. The problem is that the five cents on your screen is the gross spread, and almost nobody who sends me the screenshot has done the arithmetic on what actually lands in the account after the trade resolves.
So this is the version of that arithmetic I wish someone had walked me through the first time. It is not complicated math. It is just a stack of small costs that each look ignorable on their own and together eat most of what looked like an easy win.
What a two-leg arb actually is
The clean version: you buy YES on the cheaper venue and buy NO on the more expensive one, sized so that whichever way the event resolves, one leg pays out a dollar and the other pays nothing. If YES costs 62 cents on venue A and NO costs 33 cents on venue B, you have paid 95 cents to guarantee a one-dollar payout. That five-cent gross edge is the whole reason you did it.
Now start subtracting. Every item below is real, and the order roughly follows the life of the trade.
- Entry cost on the crypto leg. On an on-chain venue like Polymarket, getting into and out of a position means gas and, depending on the venue, a maker or taker treatment on the order. Gas is not a percentage, it is a flat cost, which means it hurts small trades disproportionately. A few dollars of gas on a modest position can be a full point or more of your edge before anything else happens.
- Entry cost on the regulated leg. A venue like Kalshi typically charges a trading fee that scales with how far the contract price sits from the extremes, so mid-priced contracts around fifty cents carry the heaviest fee load. That is exactly where a lot of the interesting mispricings live, which is inconvenient.
- The dollar-crossing-a-border cost. Your crypto leg settles in USDC and your regulated leg settles in actual dollars in a bank. To net the two into one P&L you eventually convert, and the on-and-off ramp between USDC and USD is rarely free and rarely instant. Even a small conversion spread applies to the whole position, not just the profit.
- Withdrawal and settlement timing. Winnings do not teleport. On-chain resolution can be quick, but moving value off a regulated venue back to a bank runs on business-day timing, and the two legs almost never free up on the same day.
- Locked capital until resolution. This is the one people forget, and it is usually the biggest. Your money is committed from the moment you enter until the market resolves, which for a lot of these questions is weeks or months away. That capital is not available for anything else during that window.
Why locked capital is the quiet killer
A five-cent gross spread on a position that resolves in a week is a very different animal from the same spread on a position that resolves in three months. The spread is fixed at entry. The holding period is not, and the holding period is what turns a percentage into an annualized rate you can actually compare against anything else.
Rough way to think about it. If you tie up capital for three months to capture a spread, you are earning that spread four times a year at best, assuming you can immediately redeploy into an equally good trade the moment each one resolves, which you usually cannot. So a headline edge that survives all the fees above can still annualize down to something that barely beats leaving the money in a savings account, once you account for the fact that it was frozen the whole time. And that is before you price the risk that one of your two venues delays a withdrawal, changes a rule, or resolves the question in a way you did not expect.
The practical consequence is that near-dated markets are where cross-platform arb has any real chance of clearing a profit, and far-dated markets need a much fatter raw spread to be worth touching at all.
A rule of thumb before you enter
Here is the checklist I actually run, in order, before deciding a spread is real.
- Write down the gross spread in cents. This is your entire budget. Everything else is a subtraction from it.
- Subtract the round-trip trading and gas cost on both legs. On small sizes the flat crypto gas alone can wipe out a two- or three-cent spread by itself.
- Subtract the USDC-to-USD conversion cost applied to the full position, not just the winnings.
- Estimate days to resolution. Divide your surviving edge by that window and annualize it. If the annualized number does not clear what you would accept from a boring, liquid alternative, the trade is a loser dressed as a winner.
- Stress the withdrawal path. Assume the slower of your two venues sets your true exit date, and confirm you are comfortable with that capital being frozen until then.
If I had to give one crude threshold, a spread under a few cents on a market resolving weeks or months out almost never survives this stack, and I treat those as noise. The gaps worth acting on tend to be the wider ones on shorter-dated events, and even then the raw spread you need is larger than most people guess. A cross-platform arb frequently needs a raw spread in the mid single digits of cents just to break even after everything, and comfortably more than that before it is worth the operational hassle of running two accounts on two settlement systems.
The failure mode nobody prices in
The trade that looks best on the screen is often the one you cannot fill at the price you saw. Prediction-market books are thin, especially away from the very liquid headline questions. You buy the first few contracts at 62, and the next few cost you 63, 64, and suddenly your entry price is worse than the spread you were chasing. The order book depth is part of the cost, and it is invisible until you actually route size through it. This is where having consolidated pricing and settlement-aware views across venues, which is a chunk of what we built into Blockcircle, saves you from acting on a spread that only existed for the first ten dollars of it.
None of this means cross-platform arb is dead. It means the honest version of the trade is narrower than the screenshot suggests. Price the full stack, respect the holding period, assume the slower venue owns your exit, and you will pass on most of what looks tempting. The ones that clear all of that are worth doing, and there are fewer of them than you would like.