Remote MCP server: pre-trade resolution-risk audit for Polymarket/Kalshi prediction-market pairs — safe/caution/block before you execute both legs
git clone https://github.com/NicolasDuarte04/crosswire-mcp{
"mcpServers": {
"crosswire-mcp": {
"command": "node",
"args": ["/path/to/crosswire-mcp/dist/index.js"]
}
}
}Resumen de MCP Servers
# 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
```
- Transport: **streamable HTTP**
- The MCP tools are **free — no API key, no signup**
- Website: [crosswire-api.com](https://crosswire-api.com) · Status & track record: [api.crosswire-api.com](https://api.crosswire-api.com/)
### 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
| Verdict | Meaning | Agent action |
|---|---|---|
| `safe` | No fatal findings, data fresh. The two contracts settle on the same thing. | Proceed; your stack decides. |
| `caution` | Non-fatal divergence or degraded data (e.g. stale snapshot, thin liquidity, source/timing gaps). | Proceed only if your strategy tolerates the named finding. |
| `block` | A 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`](https://api.crosswire-api.com/v1/events) and
[`/v1/health`](https://api.crosswire-api.com/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:
[nicolasduartejaraba@gmail.com](mailto:nicolasduartejaraba@gmail.com?subject=Crosswire%20API%20key).
## 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](LICENSE) — covers this repository (listing metadata and documentation). The Crosswire
service itself is proprietary.
Lo que la gente pregunta sobre crosswire-mcp
¿Qué es NicolasDuarte04/crosswire-mcp?
+
NicolasDuarte04/crosswire-mcp es mcp servers para el ecosistema de Claude AI. Remote MCP server: pre-trade resolution-risk audit for Polymarket/Kalshi prediction-market pairs — safe/caution/block before you execute both legs Tiene 0 estrellas en GitHub y se actualizó por última vez today.
¿Cómo se instala crosswire-mcp?
+
Puedes instalar crosswire-mcp clonando el repositorio (https://github.com/NicolasDuarte04/crosswire-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar NicolasDuarte04/crosswire-mcp?
+
NicolasDuarte04/crosswire-mcp aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.
¿Quién mantiene NicolasDuarte04/crosswire-mcp?
+
NicolasDuarte04/crosswire-mcp es mantenido por NicolasDuarte04. La última actividad registrada en GitHub es de today, con 0 issues abiertos.
¿Hay alternativas a crosswire-mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega crosswire-mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/nicolasduarte04-crosswire-mcp)<a href="https://claudewave.com/repo/nicolasduarte04-crosswire-mcp"><img src="https://claudewave.com/api/badge/nicolasduarte04-crosswire-mcp" alt="Featured on ClaudeWave: NicolasDuarte04/crosswire-mcp" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。