The same election, the same Fed decision, the same BTC threshold - priced differently on two venues. Cross-platform arbitrage bots match the events, size against both books, and fire matched legs across both APIs. Built for capital that can operate in both jurisdictions (Kalshi US-legal, Polymarket internationally accessible).
Cross-venue arb sounds simple. Implementation is hard because the two venues speak different languages.
Identify shared events across venues.
"Will Trump win in 2028?" on Polymarket maps to PRES-2028-DEM series on Kalshi. We use semantic matching (LLM-assisted) + human review for ambiguous cases.
Different costs, different sizes. Kalshi has $0.07 minimum fees per trade. Polymarket has gas (~$0.005). We normalize to "net price after costs" before declaring an edge.
Two APIs, one execution path. Polymarket CLOB + Kalshi Trade API in a unified router. Legs fire simultaneously with partial-fill unwind logic.
Geographic enforcement is in code. The bot won't fire Polymarket legs if the user is in a blocked jurisdiction.
# Cross-venue arbitrage - production config strategy: "cross-venue-arb" venues: - id: "polymarket" enabled_for_geos: ["IN", "IL", "AE", "HK", "CA-non-ON"] - id: "kalshi" enabled_for_geos: ["US"] event_matching: matcher: "semantic-llm" similarity_threshold: 0.85 manual_review_below: 0.85 human_approved_pairs_only: false # strict mode toggle trigger: min_edge_cents_net: 2.5 # after fees + gas min_orderbook_depth_usdc: 1_500 # both venues combined execution: legs_in_parallel: true slippage_bps_per_leg: 50 partial_fill_policy: "unwind" geographic_check: true # enforced before each fire risk: max_position_per_event_usdc: 8_000 daily_drawdown_stop_usdc: 2_500
If you accidentally arb "Will Trump win the primary?" against "Will Trump win the general?", you've taken a directional bet without knowing it. Semantic matching needs a human review layer until you've validated the pair history. We bake that in.
Kalshi might settle on a date Polymarket interprets differently. We track resolution conditions verbatim per market and refuse to pair markets where the criteria differ materially.
Funds in Kalshi USD account. Funds in Polymarket USDC on Polygon. Rebalancing between them takes hours and costs fees. We surface treasury imbalance in the dashboard.
If you're US-based, you trade Kalshi only. If you're in a Polymarket-accessible jurisdiction, you can trade both. We won't ship cross-venue bots to clients whose geographic eligibility we can't verify.
Polymarket leans crypto-native sentiment, Kalshi leans US-resident sentiment. Persistent 2-4¢ gaps on major races, 5-8¢ on long-tail.
Tighter gaps but very frequent. Kalshi's Fed series have weekly resolutions - high turnover. Where most cross-venue volume happens.
Polymarket has deeper liquidity (crypto-native users). Kalshi's prices often lag during volatile sessions. Cross-venue gaps widen.
Polymarket↔Kalshi on one category (e.g., politics) with manual event-pair approval.
Full cross-venue arb desk with auto-matching, treasury rebalancing, multi-account routing.
Send us your jurisdiction(s) of operation and target categories. Cross-venue projects start with a compliance + jurisdiction review - typically a 45-minute call before we quote.