Communitygithub.com

chainstacklabs/polyclaw

Handeln auf Polymarket via Split + CLOB-Ausführung. Märkte durchsuchen, Positionen mit Gewinn/Verlust verfolgen, Absicherungen per LLM entdecken. Polygon/Web3.

Was ist polyclaw?

PolyClaw ist eine handelsfähige Polymarket-Fertigkeit für OpenClaw, die es ermöglicht, Vorhersagemärkte zu durchsuchen, Wallets zu verwalten, Trades auszuführen und Positionen zu verfolgen. Die Fertigkeit unterstützt den Kauf von JA/NEIN-Positionen über einen Split- und CLOB-Ausführungsmechanismus auf dem Polygon-Mainnet. Sie bietet zudem eine LLM-gestützte Absicherungssuche (Hedge Discovery), die logische Beziehungen zwischen Märkten analysiert, um abdeckende Portfolios zu finden. Für den Handel müssen einmalig Vertragsberechtigungen erteilt werden; die Wallet wird über eine Umgebungsvariable konfiguriert. Aufgrund von Cloudflare-Schutz bei Polymarkets CLOB-API wird die Verwendung eines rotierenden Residential-Proxys empfohlen. PolyClaw ist ideal für Entwickler und automatisierte Handelsstrategien, die eine programmatische Schnittstelle zu Polymarket benötigen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add chainstacklabs/polyclaw

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht polyclaw?

Handelsfähige Polymarket-Fertigkeit für OpenClaw. Durchsuchen Sie Märkte, verwalten Sie Wallets, führen Sie Trades aus und verfolgen Sie Positionen.

Funktionen

  • Marktdurchsuchung - Durchsuchen und Stöbern in Polymarket-Vorhersagemärkten
  • Wallet-Verwaltung - Wallet-Konfiguration über Umgebungsvariablen
  • Handel - Kauf von JA/NEIN-Positionen via Split + CLOB-Ausführung
  • Positionsverfolgung - Verfolgen von Einstiegspreisen, aktuellen Preisen und Gewinn/Verlust
  • Absicherungssuche - LLM-gestützte Entdeckung von abdeckenden Portfolios durch logische Implikationen

Schnellstart

Installieren Sie zunächst die Abhängigkeiten (aus dem Fertigkeitsverzeichnis):

cd {baseDir}
uv sync

Ersteinrichtung (für den Handel erforderlich)

Vor Ihrem ersten Trade setzen Sie die Polymarket-Vertragsberechtigungen (einmalig, kostet ~0,01 POL an Gas):

uv run python scripts/polyclaw.py wallet approve

Dies sendet 6 Genehmigungstransaktionen an Polygon. Sie müssen dies nur einmal pro Wallet durchführen.

Märkte durchsuchen

# Trendmärkte nach Volumen
uv run python scripts/polyclaw.py markets trending

# Märkte durchsuchen
uv run python scripts/polyclaw.py markets search "Wahl"

# Marktdetails (gibt vollständiges JSON mit allen Feldern zurück)
uv run python scripts/polyclaw.py market <market_id>

Ausgabeoptionen:

  • Standardausgabe ist eine formatierte Tabelle (gut zur Anzeige)
  • Verwenden Sie --full für den vollständigen Fragetext ohne Kürzung
  • Verwenden Sie --json über scripts/markets.py --json trending für strukturierte JSON-Ausgabe

Wallet-Verwaltung

# Wallet-Status prüfen (Adresse, Guthaben)
uv run python scripts/polyclaw.py wallet status

# Vertragsberechtigungen setzen (einmalig)
uv run python scripts/polyclaw.py wallet approve

Das Wallet wird über die Umgebungsvariable POLYCLAW_PRIVATE_KEY konfiguriert.

Handel

# JA-Position für 50 $ kaufen
uv run python scripts/polyclaw.py buy <market_id> YES 50

# NEIN-Position für 25 $ kaufen
uv run python scripts/polyclaw.py buy <market_id> NO 25

Positionen

# Alle Positionen mit Gewinn/Verlust auflisten
uv run python scripts/polyclaw.py positions

Absicherungssuche

Finden Sie abdeckende Portfolios - Paare von Marktpositionen, die sich gegenseitig durch kontrapositive Logik absichern.

# Trendmärkte nach Absicherungen durchsuchen
uv run python scripts/polyclaw.py hedge scan

# Märkte durchsuchen, die einer Abfrage entsprechen
uv run python scripts/polyclaw.py hedge scan --query "Wahl"

# Bestimmte Märkte auf Absicherungsbeziehung analysieren
uv run python scripts/polyclaw.py hedge analyze <market_id_1> <market_id_2>

Ausgabeoptionen:

  • Standardausgabe ist eine formatierte Tabelle mit Stufe, Abdeckung, Kosten, Ziel und Deckung
  • Verwenden Sie --json für strukturierte JSON-Ausgabe
  • Verwenden Sie --min-coverage 0.90 zur Filterung nach Mindestabdeckung (Standard 0,85)
  • Verwenden Sie --tier 1 zur Filterung nach Stufe (1=am besten, Standard 2)

Abdeckungsstufen:

  • Stufe 1 (HOCH): >=95 % Abdeckung - nahezu Arbitrage-Möglichkeiten
  • Stufe 2 (GUT): 90-95 % - starke Absicherungen
  • Stufe 3 (MITTEL): 85-90 % - anständig, aber spürbares Risiko
  • Stufe 4 (NIEDRIG): <85 % - spekulativ (standardmäßig herausgefiltert)

LLM-Modell: Verwendet nvidia/nemotron-nano-9b-v2:free über OpenRouter. Die Modellauswahl ist wichtig – einige Modelle finden Scheinkorrelationen, während andere (wie DeepSeek R1) Probleme mit dem Ausgabeformat haben. Überschreiben Sie mit --model <model_id>, falls nötig.

Sicherheit

Für den MVP wird der private Schlüssel aus Gründen der Einfachheit und Claude Code-Kompatibilität in einer Umgebungsvariable gespeichert.

Sicherheitswarnung: Bewahren Sie nur kleine Beträge in diesem Wallet auf. Überweisen Sie regelmäßig auf ein sicheres Wallet.

Umgebungsvariablen

VariableErforderlichBeschreibung
CHAINSTACK_NODEJa (Handel)Polygon RPC-URL
OPENROUTER_API_KEYJa (Absicherung)OpenRouter-API-Schlüssel für LLM-Absicherungssuche
POLYCLAW_PRIVATE_KEYJa (Handel)EVM privater Schlüssel (hex, mit oder ohne 0x-Präfix)
HTTPS_PROXYEmpfohlenRotierender Residential-Proxy für CLOB (z. B. IPRoyal)
CLOB_MAX_RETRIESNeinMaximale CLOB-Wiederholungen mit IP-Rotation (Standard: 5)
POLY_BUILDER_CODENeinBytes32-Builder-Code für Attribution (von polymarket.com/settings?tab=builder). Wird bei jedem Auftrag angehängt, wenn gesetzt.

Sicherheitswarnung: Bewahren Sie nur kleine Beträge in diesem Wallet auf. Überweisen Sie regelmäßig auf ein sicheres Wallet. Der private Schlüssel in einer Umgebungsvariable ist praktisch für die Automatisierung, aber weniger sicher als ein verschlüsselter Speicher.

Handelsablauf

  1. Position teilen - pUSD wird über den CTF-Vertrag in JA + NEIN-Token aufgeteilt
  2. Ungewünschtes verkaufen - Die ungewünschte Seite wird über das CLOB-Orderbuch (V2) verkauft
  3. Ergebnis - Sie halten die gewünschte Position, erstatten die Teilkosten durch den Verkauf der ungewünschten Seite

Beispiel: JA zu 0,70 $ kaufen

  • 100 $ pUSD aufteilen → 100 JA + 100 NEIN-Token
  • 100 NEIN-Token zu ~0,30 $ verkaufen → ~27 $ pUSD zurückgewinnen
  • Nettokosten: ~73 $ für 100 JA-Token (Einstieg: 0,73 $)

Wenn Sie nur USDC.e haben, wickeln Sie es 1:1 in pUSD über die wrap()-Funktion des Collateral Onramps vor dem Handel um.

Polymarket-Verträge (Polygon Mainnet, CLOB V2)

  • pUSD (Sicherheit): 0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB
  • USDC.e (Onramp-Eingabe): 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174
  • Collateral Onramp: 0x93070a847efEf7F70739046A929D47a521F5B8ee
  • CTF (Conditional Tokens): 0x4D97DCd97eC945f40cF65F87097ACe5EA0476045
  • CTF Exchange (V2): 0xE111180000d2663C0091e4f400237545B87B996B
  • Neg Risk CTF Exchange (V2): 0xe2222d279d744050d28e00520010520000310F59

Abhängigkeiten

Installieren Sie mit uv (aus dem Fertigkeitsverzeichnis):

cd {baseDir}
uv sync

Einschränkungen

  • Der Handel erfordert die Einrichtung der Wallet-Berechtigung (einmalig)
  • CLOB-Verkäufe können fehlschlagen, wenn die Liquidität unzureichend ist

CLOB Cloudflare-Blockierung

Die CLOB-API von Polymarket verwendet Cloudflare-Schutz, der POST-Anfragen von vielen IPs blockiert, einschließlich Rechenzentrums-IPs und einiger Residential-ISPs. Dies betrifft den Schritt "Ungewünschte Token verkaufen".

Lösung: Residential-Proxy mit Wiederholungslogik

Die empfohlene Einrichtung verwendet einen rotierenden Residential-Proxy (z. B. IPRoyal, BrightData). Der CLOB-Client wiederholt automatisch mit neuen IPs, bis ein Durchbruch gelingt:

export HTTPS_PROXY="http://user:[email protected]:12321"
export CLOB_MAX_RETRIES=10  # Standard ist 5

Mit dieser Einrichtung gelingen CLOB-Orders in der Regel innerhalb von 5-10 Wiederholungen, während der Proxy die IPs rotiert, bis eine nicht blockierte gefunden wird.

Alternative Workarounds:

  1. --skip-sell verwenden — Behalten Sie sowohl JA- als auch NEIN-Token, verkaufen Sie manuell auf polymarket.com
  2. Kein Proxy — Das Teilen funktioniert trotzdem; nur der CLOB-Verkauf ist betroffen

Wenn der CLOB nach allen Wiederholungen fehlschlägt, war Ihr Split trotzdem erfolgreich. Die Ausgabe teilt Ihnen mit, wie viele Token Sie manuell verkaufen müssen.

Fehlerbehebung

"Kein Wallet verfügbar"

Setzen Sie die Umgebungsvariable POLYCLAW_PRIVATE_KEY:

export POLYCLAW_PRIVATE_KEY="0x..."

"Unzureichendes pUSD"

Prüfen Sie das Guthaben mit uv run python scripts/polyclaw.py wallet status. Trades erfordern pUSD (Polymarket USD). Wenn Sie USDC.e haben, wickeln Sie es 1:1 über den Collateral Onramp (0x9307...B8ee) um – die polymarket.com-Oberfläche macht dies automatisch; API-Benutzer wickeln manuell um.

"CLOB-Order fehlgeschlagen"

Der CLOB-Verkauf kann fehlschlagen aufgrund von:

  • Unzureichender Liquidität zum Verkaufspreis
  • IP durch Cloudflare blockiert (Proxy versuchen)

Ihr Split war trotzdem erfolgreich – Sie haben die Token, konnten nur die ungewünschte Seite nicht verkaufen.

"Berechtigungen nicht gesetzt"

Der erste Trade erfordert Vertragsberechtigungen. Führen Sie aus:

uv run python scripts/polyclaw.py wallet approve

Lizenz

Apache 2.0

Verwandte Skills