Prediction Market API: Build Your Own Trading Bot
Key takeaway: Polymarket's CLOB (Central Limit Order Book) API ermöglicht es Ihnen, programmgesteuert Aufträge zu platzieren, Preise zu streamen und Positionen zu verwalten. In Kombination mit der Gamma API für Marktdaten können Sie einen vollständig automatisierten Handelsbot für Vorhersagemärkte entwickeln.
Algorithmischer Handel ist nicht nur etwas für die Wall Street. Die Polymarket API bietet Entwicklern vollständigen Zugriff auf den weltweit größten Vorhersagemarkt. Ob Sie eine einfache Umschichtungsstrategie automatisieren oder einen anspruchsvollen Market-Making-Bot konstruieren möchten — dieser Leitfaden behandelt alles, was Sie zum Einstieg benötigen.
API-Architektur im Überblick
Polymarket stellt zwei Haupt-APIs zur Verfügung:
- Gamma API (
gamma-api.polymarket.com): Marktmetadaten — Ereignisse, Märkte, Bedingungen, historische Daten. Öffentlich, keine Authentifizierung erforderlich - CLOB API (
clob.polymarket.com): Auftragsplatzierung, Stornierung, Positionsverwaltung und Echtzeit-Orderbuchdaten. Erfordert EIP-712-abgeleitete API-Anmeldedaten
Authentifizierung
Die CLOB-API-Authentifizierung verwendet zwei Schichten:
- L1-Authentifizierung (EIP-712): Signieren Sie eine typisierte Datennachricht mit Ihrem privaten Ethereum-Schlüssel, um API-Anmeldedaten abzuleiten (apiKey, secret, passphrase)
- L2-Authentifizierung (HMAC-SHA256): Signieren Sie jede API-Anfrage mit den abgeleiteten Anmeldedaten. Die Signatur umfasst den Zeitstempel, die Methode, den Pfad und den Text
Beispiel für die Ableitung von Anmeldedaten (JavaScript):
import { ethers } from "ethers";
const wallet = new ethers.Wallet(PRIVATE_KEY);
const domain = { name: "ClobAuthDomain", ... };
const types = { ClobAuth: [{ name: "address", type: "address" }, ...] };
const signature = await wallet.signTypedData(domain, types, value);
// POST to /auth/derive-api-key with the signature
Marktdaten abrufen
Die Gamma API stellt alle erforderlichen Marktmetadaten zur Verfügung:
// List active events
GET https://gamma-api.polymarket.com/events?active=true&limit=100
// Get specific market details
GET https://gamma-api.polymarket.com/markets/{conditionId}
// Historical price data
GET https://gamma-api.polymarket.com/markets/{conditionId}/prices
Aufträge platzieren
Die CLOB API unterstützt Marktaufträge, Limitaufträge und mehrere Gültigkeitsoptionen:
- GTC (Good-Till-Cancelled): Bleibt im Orderbuch, bis es ausgeführt oder storniert wird
- GTD (Good-Till-Date): Verfällt zu einem angegebenen Zeitpunkt
- FOK (Fill-Or-Kill): Muss vollständig ausgeführt werden oder gar nicht
- IOC (Immediate-Or-Cancel): Füllt, was möglich ist, storniert den Rest
WebSocket-Streaming
Für Echtzeitdaten verbinden Sie sich mit dem CLOB-WebSocket-Endpunkt:
// Subscribe to order book updates
ws.send(JSON.stringify({
type: "subscribe",
channel: "market",
assets_id: TOKEN_ID
}));
Eine einfache Strategie entwickeln
Ein grundlegender Mean-Reversion-Bot könnte folgende Schritte ausführen:
- Überwachen Sie Preise für eine Reihe von Märkten über WebSocket
- Berechnen Sie einen gleitenden Durchschnitt über die letzten 24 Stunden
- Kaufen Sie, wenn der Preis um 10 % oder mehr unter dem Durchschnitt fällt
- Verkaufen Sie, wenn der Preis zum Durchschnitt zurückkehrt
- Verwenden Sie das Kelly-Kriterium zur Dimensionierung von Positionen
Ratenlimits und Best Practices
- CLOB API: 100 Anfragen pro 10 Sekunden pro API-Schlüssel
- Implementieren Sie immer exponentielles Backoff bei 429-Antworten
- Verwenden Sie WebSockets für Echtzeitdaten statt Polling
- Speichern Sie Ihren privaten Schlüssel in Umgebungsvariablen, niemals im Code
- Testen Sie mit kleinen Positionen, bevor Sie hochfahren
PolyGram-Benutzer können auf alle diese Märkte über eine vereinfachte Schnittstelle zugreifen — keine API-Entwicklung erforderlich. Beginnen Sie mit dem Handel auf PolyGram →