Arbitrage
Cross-platform arbitrage opportunities. Buying YES on one platform and NO on another guarantees a risk-free profit after fees.
/v2/arbroi_pct is net of fees but each leg's fee_usd is a per-contract taker fee at qty=1 - fees do not scale linearly, so compute net profit at your own size with the per-platform formulas (Q = contracts, P = price 0–1). Kalshi: fee = ceil(0.07 · Q · P · (1−P)) rounded up to the cent. Polymarket: fee = ceil(mult · Q · P · (1−P)) rounded up to the mill, where mult defaults to 0.05 (per-leg fee_usd uses this default). Polymarket US: fee = ceil(Θ · Q · P · (1−P)) to the cent, where Θ is the market's fee coefficient and defaults to 0.06. Opinion: fee = ceil(Q · P · (1−P)) to the cent. Predict.fun: fee = ceil((bps/10000) · Q · P) to the cent, bps defaults to 200 (2%). ProphetX: fee = 0.02 · Q · (1−P). PredictIt charges no entry fee but takes 10% of net profit on withdrawal - this is an exit fee folded into roi_pct, not into fee_usd.
Parameters
min_roifloatMinimum ROI percentage to include. Default: 0 (no minimum).
platformsstringFilter to specific platform pair, e.g. polymarket,kalshi. Accepts kalshi, polymarket, polymarket_us, predictit, prophetx, opinion, predictfun, novig.
limitintegerDefault: 20, max: 100.
Response
as_ofstringServer timestamp of the response (ISO 8601).
delay_secondsintegerSignal delay in seconds applied to the response.
countintegerNumber of opportunities returned.
opportunitiesobject[]Current arbitrage opportunities.
Show 9 fields
group_idintegerMatch group ID.
group_titlestringHuman-readable group title.
event_datestringEvent date.
event_typestringEvent category.
roi_pctnumberNet-of-fees return on investment as a true percent (e.g. 5.49 means 5.49%). Fees deducted are the per-leg entry fees plus, for any PredictIt leg, its expected 10% win fee.
total_costnumberTotal cost to execute (YES price + NO price).
max_wager_usdnumberMaximum executable wager in USD - the total cost of the largest equal-contract pair fillable against current book depth on both legs.
detected_atstringWhen this opportunity was detected (ISO 8601).
legsobject[]The two legs of the arbitrage trade.
Show 7 fields
sidestring"yes" or "no".
platformstringPlatform for this leg.
market_idstringMarket ID on the platform.
source_urlstringDirect link to the market.
pricenumberPrice for this leg.
liquidity_usdnumberAvailable liquidity in USD.
fee_usdnumberPlatform entry (taker) fee for this leg, in USD, for ONE contract at the quoted price. Per-contract basis - fees are not linear in size, so recompute at your own quantity using the formula below. Entry fees only (PredictIt's 10% win fee is a separate exit fee, not included here).