Reality-checked a “buy YES on one venue + NO on the other when combined cost < $1” cross-venue arb (Polymarket ↔ Kalshi) against live public data. Verdict: shelved. A real net-positive lock existed at snapshot time but only on a single market family, and the edge is a tick-rounding gap that leg-out risk and per-venue fees erase for us. Sibling shelved-strategy notes: top-trader-edge, copy-trade-algorithm, lag-probe.
trigger
A TikTok claimed “guaranteed money no matter the outcome”: buy YES on one venue and NO on the other (Polymarket + Kalshi) on the same event whenever combined cost < 1 settlement covers both legs, the difference is locked profit. We checked it against live public order books before building anything.
verdict — shelved, not a capturable edge for us
A genuine net-positive lock did exist at the snapshot (~2026-05-29 12:30Z) — but only on the June FOMC rate-decision buckets:
- ~+14.9k deployed = +0.36% over ~19 days
- ≈ 5–10% APY gross, before execution risk and capital lockup
- present on only 3 of 5 rate buckets
That is the whole opportunity. Not “guaranteed money” at any meaningful scale.
why it’s not worth building (the evidence)
- Matching is the binding constraint. Only the Fed-decision family cleanly rule-matched across venues. The rest didn’t:
- CPI — resolution-mismatch trap: Polymarket resolves on YoY level, Kalshi on MoM change. Same headline, different settlement → not the same contract. (Canonical “looks like arb, isn’t” failure mode — see below.)
- Government shutdown — no live Kalshi market to pair against.
- High-volume Polymarket markets — novelty longshots with one-sided books; nothing to lock against.
- Most catalogs simply don’t overlap.
- The edge is a tick-grid rounding gap, not free money. Polymarket prices on 0.1¢ ticks, Kalshi on 1¢ ticks. The “profit” is ~0.3–0.5¢/contract of grid mismatch — a rounding artifact, not mispricing.
- No atomic cross-venue execution → leg-out risk dominates. You fill one leg, then chase the other on a separate venue. A single adverse 1¢ tick on the unfilled leg wipes 2–3× the per-contract profit. Without atomic-ish fills the expected value is negative once you price slippage.
- Polymarket is no longer zero-fee (2026) — this alone invalidates the older “PM is free” assumption baked into earlier theses. See the fee schedule below.
- Intra-venue arb: none. Same-market YES+NO on each venue summed to 1.02 — at or above $1, no lock.
durable facts worth keeping
2026 Polymarket fee schedule (PM is NOT zero-fee anymore)
Polymarket charges a taker fee of the form Θ · C · p · (1 − p) (C = contracts, p = fill price), by category. Full verified table (Fee Structure V2, eff. 2026-03-30) is in edge-discovery-2026-06-22; partial list here:
- Economics: Θ ≈ 0.05 · Culture: 0.05 · Weather: 0.05
- Politics / Finance / Tech: Θ ≈ 0.04
- Sports / Esports: Θ ≈ 0.03
- Crypto: Θ ≈ 0.07 (highest)
- Geopolitics: Θ = 0 (the only free category)
Fees vanish as p→0 or p→1. Maker rebates ~25% (~20% crypto).
This replaces the old “Polymarket is zero-fee” premise — revisit any earlier strategy note that assumed free PM execution.
LIVE-CAPITAL correction (2026-06-22) — WEATHER is NOT fee-free
The live weather strategy and prior analyses assumed Weather = Θ=0. It is Θ=0.05 (same as Culture, 2.25/$500)**. Re-run the live weather deflated Sharpe NET of this fee — a thin margin may fall below the 1.5×-cost ship bar. Full context: edge-discovery-2026-06-22.
Kalshi taker fee
Kalshi ≈ ceil(0.07 · C · p · (1 − p)) (rounded up to the cent, C = contracts, p = fill price).
Canonical "looks like arb, isn't" trap — resolution-rule mismatch
Two venues listing the “same” event can resolve on different underlying measures. The CPI case: Polymarket = YoY level, Kalshi = MoM change. The headlines match; the payoffs don’t. Always diff the resolution rules, not the market titles, before treating a cross-venue pair as fungible.
Kalshi public market-data endpoints (no auth for read)
- Markets:
https://api.elections.kalshi.com/trade-api/v2/markets- Order book:
https://api.elections.kalshi.com/trade-api/v2/markets/{ticker}/orderbookSufficient to scan Kalshi catalogs and books for cross-venue pairing without an account.
reopen condition
Revisit only if both hold:
- We build low-latency dual-venue execution with atomic-ish fills (kills the leg-out risk that currently dominates), and
- We find a materially broader set of genuinely rule-matched markets (the Fed family alone is too thin to justify the infra).
Absent both, this stays shelved.
related
- top-trader-edge — sibling shelved/superseded strategy thesis (Polymarket-internal late-window edge)
- copy-trade-algorithm — sibling shelved strategy (no demonstrated edge vs naive PnL ranking)
- lag-probe — sibling latency-arb investigation; also concluded the obvious edge wasn’t capturable for us
- short-term-accuracy — earlier latency-arb framing (the original “PM is free” assumptions live here)
- polymarket-fetch — workspace / schema / CLI overview