Skip to main content
Glama

oddsrail

Die Schiene, über die KI-Agenten Prognosemärkte handeln.

Ein MCP-Server, der jedem Agenten (Claude Code, Claude Desktop oder allem MCP-Kompatiblen) Zugriff auf Prognosemärkte über Polymarket und Kalshi gibt: Marktsuche, Orderbücher, Preishistorie, Positionen und Order-Routing — mit On-Chain-Builder-Code-Attribution auf Polymarket — plus zwei Premium-Signaltools (In-Play-Overshoot/Fade-Erkennung, Auflösungsstreit-Risiko).

Geschäftsmodell: gerouteter Orderflow erzeugt Builder-Gebühren; die Signal-Tools sind die bezahlte Datenschicht (x402-Pay-per-Call geplant).

Warum das und nicht Parsec

Der engste Konkurrent (parsecapi.com) ist ein Closed-Source-, gehosteter Dienst: Er speichert deine Exchange-Keys (oder hält eine verwaltete Wallet, die für dich signiert), und sein Builder-Programm behält 55–85 % der Gebühren, die Builder einholen. oddsrail ist auf jeder Achse das Gegenteil: selbst gehostet, non-custodial (Keys verlassen niemals deinen Rechner), Open Source, und du behältst 100 % deiner Polymarket-Builder-Gebühren, because attribution Polymarkts nativen Mechanismus nutzt, nicht ein mittelsmann Escrow. Parsec liefert zudem keine Signal-/Analysetools und nichts zum Auflösungsrisiko — das ist unsere bezahlte Ebene.

Quickstart

Python 3.11+ erforderlich. Erstelle die venv, installiere und stecke es dann in Claude Code:

python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
claude mcp add --transport stdio oddsrail -- /abs/path/to/oddsrail/.venv/bin/python -m oddsrail.server

Dann frag den Agenten: *„Suche nach Märkten zum Weltmeisterschaft und führe das Übershoot-Signal auf den Favoriten aus““.

So funktioniert die Attribution (CLOB V2, verifiziert Aug 2026)

  1. Hol dir deinen Builder-Code (ein bytes32) unter polymarket.com → Settings → Builders. Legt dort Gebührenhöhe fest: Taker bis zu 100 bps, Maker bis zu 50 bps — additiv oben auf die Plattformgebühren, ausgezahlt auf deine Builder-Wallet.

  2. export ODDSRAIL_BUILDER_CODE=0x... auf dem Rechner, auf dem der Server läuft.

  3. Jede Order, die irgendein Agent through place_order routet, bekommt denjn Code)einer im builder-Feld der V2-Order-Struktur, vor dem Signieren — Die Attribution ist on-chain und in jedem OrderFilled-Event zeigen.

  4. Verifiziere das mit dem builder_stats-Tool (öffentlicher Endpunkt + Hall des Builders).

Umgebungsvariablen

Variable

Standard

Bedeutung

ODDSRAIL_DRY_RUN

1

1 = Orders werden nur simuliert und zurückgegeben, nie eingestellt. Setze 1 zu handeln.

ODDSRAIL_BUILDER_CODE

nicht gesetzt

Dein bytes32-Builder-Code — Attribution + Gebühren.

POLYMARKET_PRIVATE_KEY

nicht gesetzt

Operator-Wallet-Schlüssel; nur für echtes Trading nötig. Verlässt diesen Rechner nie.

POLYMARKET_WALLET_ADDRESS

nicht gesetzt

Proxy-/Einzahladresse Derzur-Wallet, falls das Konto eine verwendet.

Status — live-verifiziert 2026-08-23

Alle 10 aufrufbaren Tools wurden in einer echten MCP-Client-Sitzung gegen das Live Polymarket end-to-end getrieben, vom Finnland-VPS (/opt/oddsrail). Verifiziert funktionieren: Suche, Marktabfrage, Orderbuch (9/65 Levels), Preishistorie (361 Pkte.), Overshoot-Signal, Dispute-Risiko, Builder-Leaderboard, Dry-Run-Order, offene Orders, Server-Info.

Die Feld-Mappings wurde bei diesem Lauf gegen die echte API korrigiert — die aus Doku-geratenen Formen waren drei Stellen falsch (outcomes ist ein Dict mit den Schlüsseln yes/no, search() verschachtelt Märkte in Events, und Buch-/Volumen-/Auflösungsdaten liegen in prices/metrics/state/resolution-Unterobjekten).

⚠️ Netzwerk-Hinweis

Polymarket API Domains sind auf türkischen Netzen (BTK) blockiert — lokales Testen, loklädt TLS mit Sperrseite. Betreib den Server dort, wo Polymarket erreichbar ist (v/die Finnland-VPS unter /opt/oddsrail, ein VPN oder ein beliebiges other Netzwerk). Signal-Logik und MCP-Schicht sind komplett offline testbar.

Kalshi (Venue #2)

Kalshi ist by design bring-your-own-key und single-tenant: Der Betreiber stellt (иметown), own API key, handelt auf seinem eigene Konto und Speichert der Server nichts. Das ist Absicht — Kalshi's Entwicklervereinbarung Beschränkt die API-Nutzung den eigenen Trading des Mitglieds (§3), verbietet das Ermöglichen anderer Mitglieder (§3.2), Sublicensing der API (§3.7) und beschränkt das Speichern/Verteilen von API-Daten (§3.1). Ein gehosteter Multi-Tenant-Kalshi-Dienst wäre nicht konform; ein selbst gehosteter ist es.

„Attribution here does not exist.“ Kalshi Builder Codes are a Solana/DFlow/Jupiter-Integration — es gibt kein Builder-/ Affiliate-Feld in irgendwo der REST-API, therefore and Kalshi-Orderflownattibutiert oder monetarisiert wie Polymarkts. Kalshi ist in oddsrail für Coverage und Reichweite, nicht für Routing-Einnahmen.

Zwei Formen dieser API sind schnell falsch zu verstehen, also normalisiert oddsrail gerne:

  • Preise sind Dollar-Strings, keine Cents ("0.5600"), Größen sind Fixpunkt-Zeichenfolgen ("10=00"); die alten Integer-Cents-Felder wurden im März 2026 entfernt. Alle Berechnungen verwenden Decimal.

  • Orderbook ist auf beiden Seiten nur Bids. yes_dollars und no_dollars beide Bid-Leitern, aufsteigend — daher ist das beste Gebot das letzte Element, und ein NO-Gebot von 0,99 $ ist ein YES-Ask bei 1 US US is.02. kalshi_get_orderbook Liefert die konventionelle, beste-first Ask/Bid-Ansicht des YES-Buchs plus der Raw-Leitern.

Orderaufgabe spricht deine natürlichen Begriffe — outcome (yes/no), action (buy/sell), price = Wahrscheinlichkeit dieses Outcomes — und übersetzt intern in Kalshis YES-Book bid/ask (buy NO @ 0.25 wird zu ask @ 0.75). Diese Übersetzung ist unit-getestet, denn sie ist der offensichtlichste Ort für einen Inversionsfehler.

Zugangsdaten KALSHI_KEY_ID plus KALSHI_PRIVATE_KEY_PATH (PKCS#8 PEM) oder KALSHI_PRIVATE_KEY. Set KALSHI_DEMO=1 für die Demo-Umgebung. Lesetools lesen ohne Key.

Tools (21)

  • search_markets, get_market, get_orderbook, price_history, get_positions — Ed -only, keine Keys

  • overshoot_signal — Premium: Erkennung frischer Paniksprünge + die historische Rückkopplung dieses Marktes (portiert aus dem polymarket-wc-Analyzer)

  • dispute_risk — Premium: transparente 0–100-Heuristik für strittige (UMA-meinungsfähige) resolutions

  • place_order, cancel_order, open_orders — Trading, standardmäßig Dry-Run

  • builder_stats — Attributionsprüfung + öffentliches Builder-Ranking

  • server_info — Config-Status, pro Venue

Kalshi: kalshi_search_markets, kalshi_get_market, kalshi_get_orderbook, kalshi_get_trades, kalshi_get_balance, kalshi_positions, kalshi_open_orders, kalshi_place_order, kalshi_cancel_order.

Stack-Anmerkungen

  • Offizielles vereinheitlichtes SDK polymarket-client (0.x): AsyncPublicClient für Daten Daten, AsyncSecureClient.place_limit_order(...b builder_code=...) für attribute Orders. Der alte py-clob-client ist archived un kann keine Builder-Codes it Bring mitbringen — bed nicht verwenden.

  • MCP SDK 2.0: MCPServer aus mcp.server.mcpserver (emerging mcp.server.fastmcp.FastMCP exists in 2.x nicht mehr).

  • Kalshi läuft in plain httpx + cryptography, nicht mit off. SDK: kalshi-python-sync required Python ≥3.13 und veröffentlicht wochenwöchentlich im Spezial gleich. Auth ist RSA-PSS(SHA256, salt=Digestlänge) über den strunix_ms) + METHOD + path, wobei den Pfad /trade-api/v2 und ohne Query-String. Die Basis URL ist jetzt daser external-api.kalshi.com.

  • x402 (geplant): das offizielle PyPI-Paket x402 (v2.20+) kann MCP-Tools directly (wrapen) (x402 / .mcp, Zahlung Reisen in _meta tool-call), aber MCP-Helpers zielen derzeit auf mcp 1.x — die Integration berarti, mcp>=1.28,<2 fix the pin or risk is compatible with the release. Mainnet, Matching brauchst du einen Facilitator (Coinbase CDP: 1.000 kostenlose Klärungen/Monat, then $0.001. Lass für die beiden free-Tiers kostenlos, damit die Registry den Server verarbeiten kann.

So die Builder-Ökonomie aus (live, 2026-08-23)

Aus der öffentlichen Leaderboard über builder_stats gezogen:

wöchentlich

gesamt

#1 (betmoar)

$2.31M

$2.10B

Median der Top 25

$127K

$88.2M

#1 Entry Top 25

$42K

$36.8M

Die instructiven Zeilen sind die kleinen Nutzer: MagicWork routet $354K/Woche mit einem aktiven User, Gate $1.11M/Woche mit 2, PolymarketScan $277K mit 3. Diese Bot-Betreibende routen ihren Eigenbedarf — genau oddsrails Zielkunde — und zeiger, dass ein einzelner ernst Agethand effizient ist. Wallets (MetaMask, 37K Users) dominant bei der Zahl, nicht beim Volumen pro user.

Roadmap

  1. Live-Smoke-Test aus ungefiltertem Netz — verledigt 2026-08-23, alle Werkzeuge durch

  2. Builder-Code registrieren (polymarket.com → Settings → Builders), Startgebühren auf 0 bps, ODDSRAIL_BUILDER_CODE exportieren; erste attributed order mit kleiner Größe

  3. Kalshi als Venue #2 — verledigt 2026-08-23, 9 Tools, live verifiziert

  4. Bezahlten x402-Wrapper für die beiden zusammens hinges, sobald der mcp-2.x-Konflikt ist weg

  5. Registry-Listungen: offizielle MCP-Registry (mcp-publishing, PyPI-mcp-name: marker), Smithery (will public streamable-HTTP and a fee tool for scanner), Glama (glama.json)

Listing / Vertrieb

  • GitHub: https://github.com/hmesutozsoy/oddsrail (public, MIT)

  • Glama: crawled auto GitHub; glama.json beansprucht Maintainership.

  • Offizielle MCP-Registry: server.json ist bereit. Publikation benötigt zuerst das Paket auf PyPI (Registry prüft Ownership über einen mcp-name: io.github.hmesutozsoy/oddsrail-Marker in der PyPI-README), then mcp-publisher login github && mcp-publisher publish.

  • Smithery: benötigt einen public HTTPS streamable-HTTP-Endpoint — so vernünftig, sobald oddsrail hosted ist statt lokal über stdio läuft.

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Calibrated world model for AI agents. 40 tools: world state, markets, trading. Kalshi + Polymarket.

  • Polymarket + Hyperliquid + macro for AI agents. 38 tools, signal backtest, SSE streaming. Free tier.

  • Machine-payable prediction-market briefs and probability-change monitoring for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hmesutozsoy/oddsrail'

If you have feedback or need assistance with the MCP directory API, please join our Discord server