Crosswire — Polymarket & Kalshi Arbitrage

com.crosswire-api由 crosswire-api.com 發布官方發布者v0.6.2更新於 Oct 25, 2026

Cross-venue Polymarket+Kalshi arbitrage: resolution mismatch, void risk & settlement divergence.

已驗證Streamable HTTP可網頁執行金融資料與分析

概覽

AI 產生的概覽

Crosswire 檢查 Polymarket 與 Kalshi 的合約對是否真的以相同方式結算,並在對沖前回傳 safe、caution 或 block 結論

可以做什麼
列出已涵蓋的世界盃 2026 與加密事件對,包含 Polymarket 與 Kalshi 的市場識別碼與結果腿,免費且不需參數。稽核指定合約對的結算風險,回傳 safe、caution 或 block 結論,並附上作廢規則、結算範圍、結算來源與結算時間差異的結構化發現。可選擇傳入交易規模以觸發流動性不足檢查,並讀取稽核物件中的費用調整後價差與快照時間。
適用情境
在 Polymarket 與 Kalshi 之間建立雙腿套利部位之前使用;當兩個市場看似相同但可能結算方式不同時,或自動交易代理需要對結算風險做交易前把關時使用。
執行需求
遠端 streamable HTTP 端點;MCP 工具不需 API 金鑰或註冊。需要能存取服務商的 API。加密貨幣對命名空間按次計費,每日 3 次免費後每次 0.02 USDC;世界盃足球對免費。
安裝前請注意
加密貨幣對檢查在每日免費額度之外按次收取 USDC,自動化使用可能產生費用。此服務僅為諮詢性質:不預測結果、不路由訂單、不託管資金,其結論不構成財務建議。服務商可看到被稽核的兩個市場參照以及你送出的名目金額。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Crosswire — Polymarket & Kalshi Arbitrage,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.crosswire-api%2Fcrosswire-polymarket-kalshi-arbitrage/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "crosswire-polymarket-kalshi-arbitrage": {
      "type": "http",
      "url": "https://api.crosswire-api.com/mcp"
    }
  }
}

README

Crosswire — MCP server

Pre-trade resolution-risk firewall for cross-venue prediction-market arbitrage. Before executing a two-leg Polymarket + Kalshi position, Crosswire flags resolution mismatch, void risk, and settlement divergence — void-rule asymmetry, settlement-scope differences (90-minute vs extra-time), settlement-source and -timing gaps, stale data, and thin liquidity between Polymarket and Kalshi FIFA World Cup 2026 markets — so automated trading agents don't get blown up by markets that look identical but settle differently. Verdict: safe / caution / block.

It does not predict outcomes and it does not execute trades. It answers one question: if I buy this contract on one venue and sell its twin on the other, do they actually settle on the same thing? When they don't, it names the exact clause that breaks the hedge.

Remote MCP endpoint

https://api.crosswire-api.com/mcp

Connect

Generic MCP client config (mcp.json):

json
{  "mcpServers": {    "crosswire": {      "url": "https://api.crosswire-api.com/mcp"    }  }}

Claude Code:

bash
claude mcp add --transport http crosswire https://api.crosswire-api.com/mcp

Tools

check_resolution_risk

Pre-trade safety check for a cross-venue pair. Returns a machine-readable verdict — execution_verdict: safe / caution / block — inside a full Fungibility & Settlement Audit Object (FSAO) with structured findings, top-level divergence flags, venue rule overrides, fee-adjusted spread, and verdict reasons.

Identify the pair by either:

  1. canonical_event_id — a pair id from list_covered_events, e.g. "wc26:match:MEX-RSA:2026-06-11:result#home" (#home / #draw / #away selects the outcome leg), or
  2. market_a + market_b — one Polymarket conditionId (0x… hex) and one Kalshi ticker (e.g. KXWCGAME-26JUN11MEXRSA-MEX), order-insensitive. outcome on a ref is optional — matching uses only (venue, market_id).

Optional: notional_usd (enables the thin-liquidity check at your trade size).

If the pair is not covered, the tool returns a non-error coverage reply (covered: false) naming the covered matches and the coverage cutoff instead of an FSAO.

Example — real production audit (World Cup opener, Mexico vs South Africa, home leg):

Request:

json
{  "canonical_event_id": "wc26:match:MEX-RSA:2026-06-11:result#home"}

Response (abridged with …):

json
{  "audit_id": "aud_01KTW2Y7S3Q3JFYJK863FJB66X",  "canonical_event_id": "wc26:match:MEX-RSA:2026-06-11:result#home",  "leg_a": { "venue": "polymarket", "market_id": "0x4cd77d45…10ff", "outcome": "Yes" },  "leg_b": { "venue": "kalshi", "market_id": "KXWCGAME-26JUN11MEXRSA-MEX", "outcome": "yes" },  "matching_confidence": 0.98,  "semantically_fungible": false,  "scope_divergence_flag": false,  "void_rule_divergence_flag": true,  "settlement_source_divergence_flag": true,  "settlement_timing_divergence_flag": true,  "polymarket_rule_override": "If the game is canceled entirely, with no make-up game, this market will resolve \"No\". …",  "kalshi_rule_override": "If the game is cancelled or rescheduled to over two weeks away, the market will resolve to a fair price …",  "findings": [    { "code": "void_rule", "severity": "fatal",      "detail": "Void conditions differ … A core void asymmetry can void one leg while the other settles.",      "affects_fungibility": true },    { "code": "settlement_source", "severity": "warn",      "detail": "fifa.com (UMA-adjudicated) vs Kalshi internal …" },    { "code": "settlement_timing", "severity": "warn",      "detail": "2h statistics fallback vs unspecified …" }  ],  "fee_adjusted_true_spread": 0.0009,  "snapshot_age_seconds": 61,  "execution_verdict": "block",  "verdict_reasons": [ "void_rule: Void conditions differ …", "…" ],  "ruleset_sha": "…"}

That block is the product working as intended: a canceled match pays the Polymarket leg $0 while Kalshi resolves the same position to "a fair price" — the hedge breaks exactly when you need it.

list_covered_events

Free discovery of everything check_resolution_risk can audit: the covered canonical events, their per-outcome pair ids (…#home / #draw / #away), the Polymarket conditionIds and Kalshi tickers with outcome labels for each pair, match dates, the frozen ruleset_sha pinning the identity graph, the coverage kickoff cutoff, and snapshot freshness. Takes no arguments. Use a returned pair_id (or a pair's two market ids) as input to check_resolution_risk.

Verdict semantics

VerdictMeaningAgent action
safeNo fatal findings, data fresh. The two contracts settle on the same thing.Proceed; your stack decides.
cautionNon-fatal divergence or degraded data (e.g. stale snapshot, thin liquidity, source/timing gaps).Proceed only if your strategy tolerates the named finding.
blockA fatal divergence (void-rule asymmetry, scope mismatch, granularity mismatch…) can settle the legs differently.Do not execute the pair as a hedge.

Every FSAO carries the findings that produced the verdict — the audit is explainable, append-only logged server-side, and reproducible from {ruleset_sha, snapshot_ts, canonical_event_id}.

Coverage

FIFA World Cup 2026 match markets listed on both Polymarket and Kalshi, expanding in batches throughout the tournament. Current coverage is always live — query list_covered_events, or /v1/events and /v1/health on the REST API. Listings here are intentionally coverage-generic; the endpoint is the source of truth.

Pricing & keys

The MCP tools are free at launch — no key. The keyed REST API (POST /v1/audit, same FSAO) issues free opening-weekend keys by mail: [email protected].

What we never do

  • No outcome prediction. No model probabilities are exposed.
  • No execution. No order routing or placement. The gate returns a verdict; your stack decides.
  • No custody. No customer keys, funds, or settlement.
  • No strategy harvesting. The API sees only the two market references being audited and an optional notional.

Crosswire is an advisory data service. Nothing it returns is financial advice.

License

MIT — covers this repository (listing metadata and documentation). The Crosswire service itself is proprietary.

來源:README.md,提交 8dee28f

工具

2

check_resolution_risk

Pre-trade safety check for cross-venue event markets (crypto oracle-divergence pairs, metered; World Cup football, free). Flags resolution mismatches, void-rule divergence, scope differences (e.g. 90-minute vs extra-time; matched vs differing strike), settlement-source and -timing gaps, stale data, and thin liquidity between the two Polymarket and Kalshi legs BEFORE you execute both. Returns a machine-readable verdict — execution_verdict: safe / caution / block — inside a full Fungibility & Settlement Audit Object (FSAO) with structured findings, top-level divergence flags, venue rule overrides, fee-adjusted spread, and verdict reasons. Identify the pair by EITHER canonical_event_id (a live pair id from list_covered_events — the metered 'crypto:' inventory rolls daily, so fetch a current id there rather than reusing an old one; the free 'wc26:' World Cup pairs are stable) OR market_a + market_b (one Polymarket conditionId + one Kalshi ticker, order-insensitive). If the pair is not covered, returns a non-error coverage reply (covered: false) naming the covered inventories (free World Cup football + metered crypto pairs) and the coverage cutoff instead of an FSAO.

輸入參數modeapi_keymarket_amarket_bnotional_usdcanonical_event_id

list_covered_events

Free discovery of everything check_resolution_risk can audit across both inventories — the free World Cup football pairs and the metered crypto oracle-divergence pairs (the 'crypto:' namespace is the paid surface: $0.02 USDC per call after 3 free calls/day). Returns the covered canonical events, their per-outcome pair ids (…#home / #draw / #away for football), the Polymarket conditionIds and Kalshi tickers with outcome labels for each pair, match dates, the frozen ruleset_sha pinning the identity graph, the coverage kickoff cutoff, and snapshot freshness. Use a returned pair_id (or a pair's two market ids) as input to check_resolution_risk.

無需輸入參數。

版本歷史

1
  1. v0.6.2最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分