← Zurück zur Liste

OpenClaw x Polymarket: Hände, um Ihnen beizubringen, wie man eine automatisierte Handelsmaschine baut Menschen

itadol5j

Polymarket Trading Machine Menschen

Was ist Polymarket?

Polymarket ist der größte Prognosemarkt der Welt, in dem Benutzer die Wahrscheinlichkeit von Ereignissen handeln können - von Sportwettbewerben bis hin zu politischen Wahlen, von verschlüsselten Geldpreisen bis hin zu Nachrichten aus Wissenschaft und Technologie. Die Art und Weise, in der die Transaktion stattfindet, ist ähnlich wie "Dual Power": kauft ein "Ja" oder "Nein" -Token für ein bestimmtes Ergebnis und wird belohnt, wenn das Ergebnis eintritt.

Seine Kernstärken sind:

  • Total dezentralisiert.: Offen und transparent auf Basis der Polygonkette
  • Echtzeit-PreisfindungMarktprognosen sind tendenziell genauer als traditionelle Umfragen
  • API OpenBereitstellen einer vollständigen Transaktions-API zur Unterstützung automatisierter Transaktionen

Zubereitungen

Python Abhängigkeit installieren

Wir brauchen sie. py-clob-client Dieses offizielle SDK:

pip install py-clob-client requests python-dotenv

2. Zugang zu Wallets und API Key

Polymark unterstützt zwei Arten der Authentifizierung:

  • EOA Wallet(Bezahlen Sie sich an Gas)
  • Proxy Wallet(Gaslose Transaktion)

Hier ist der einfachste Weg zu demonstrieren - die EOA Wallet:

  1. Erstellen einer Polygon Wallet (empfohlen mit MetaMask)
  2. Einlagen USDC.e(für den Handel) und kleine POL(für Gas)
  3. Für das Wallet. Private Key
  4. Verwendung von SDK create_or_derive_api_creds() Verfahren zum automatischen Generieren von API-Gutscheine

3. OpenClaw-Umgebung

OpenClaw exec Das Tool führt den Python-Code aus und ist gut geeignet, um dieses automatisierte Skript auszuführen.

Core Code erreicht

Basic: Überwachen Sie den Markt + Automatisches Listing

import os
import time
import requests
from py_clob_client.client import ClobClient
from py_clob_client.clob_types import OrderArgs, OrderType
from py_clob_client.order_builder.constants import BUY, SELL

HOST = "https://clob.polymarket.com"
CHAIN_ID = 137
PRIVATE_KEY = os.getenv("POLYMARKET_PRIVATE_KEY")
FUNDER_ADDRESS = os.getenv("POLYMARKET_FUNDER")

def init_client():
    temp_client = ClobClient(HOST, key=PRIVATE_KEY, chain_id=CHAIN_ID)
    api_creds = temp_client.create_or_derive_api_creds()
    client = ClobClient(HOST, key=PRIVATE_KEY, chain_id=CHAIN_ID, creds=api_creds, signature_type=0, funder=FUNDER_ADDRESS)
    return client

def get_markets(tag=None, limit=10):
    url = "https://gamma-api.polymarket.com/markets"
    params = {"active": "true", "closed": "false", "limit": limit}
    if tag:
        params["tagName"] = tag
    resp = requests.get(url, params=params)
    return resp.json()

def get_price(token_id):
    url = f"https://gamma-api.polymarket.com/markets/{token_id}/price"
    resp = requests.get(url)
    return resp.json()

def place_order(client, token_id, price, size, side=BUY):
    order = client.create_and_post_order(
        OrderArgs(token_id=token_id, price=price, size=size, side=side, order_type=OrderType.GTC),
        options={"tick_size": "0.01", "neg_risk": False}
    )
    return order

Fortschritt: Durchschnittliche Rendite Strategie Maschine Menschen

Die zentrale Idee dieser Strategie ist es, es automatisch zu kaufen, wenn die Preise vom Durchschnitt abweichen und auf die Rückkehr warten.

import logging
import time

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

class MeanReversionBot:
    def __init__(self, client, token_id, threshold=0.1, size=10):
        self.client = client
        self.token_id = token_id
        self.threshold = threshold
        self.size = size
    
    def get_mid_price(self):
        data = get_price(self.token_id)
        return float(data.get("price", 0.5))
    
    def check_and_trade(self):
        mid_price = self.get_mid_price()
        logger.info(f"当前中间价: {mid_price}")
        
        if mid_price < 0.5 - self.threshold:
            logger.info(f"价格偏低,买入!")
            order = place_order(self.client, self.token_id, mid_price, self.size, BUY)
            logger.info(f"订单已下单: {order}")
        elif mid_price > 0.5 + self.threshold:
            logger.info(f"价格偏高,卖出!")
            order = place_order(self.client, self.token_id, mid_price, self.size, SELL)
            logger.info(f"订单已下单: {order}")
        else:
            logger.info("价格在合理区间,不交易")
    
    def run(self, interval=60):
        logger.info(f"机器人启动,监控 token: {self.token_id}")
        while True:
            try:
                self.check_and_trade()
            except Exception as e:
                logger.error(f"错误: {e}")
            time.sleep(interval)

if __name__ == "__main__":
    client = init_client()
    markets = get_markets(tag="politics", limit=1)
    if markets:
        token_id = markets[0]["clobTokenIds"][0]
        print(f"监控市场: {markets[0]['question']}")
        bot = MeanReversionBot(client, token_id, threshold=0.15, size=5)
        bot.run(interval=120)

OpenClaw Integration

Es ist sehr einfach, diesen Roboter in OpenClaw zu betreiben. Sie können den Code oben speichern als polymarket_bot.py, und dann in OpenClaw ausführen:

运行 python polymarket_bot.py

Achtung

Risikotipps

  • Projizierte Marktvolatilität, verwenden Sie bitte nur die Mittel, die erschwinglich sind
  • Es wird empfohlen, das Netzwerk zuerst zu testen.
  • Robotische Transaktionen erfordern eine ständige Überwachung, um Extreme zu verhindern.

2. API-Beschränkungen

  • Offene API ohne Authentifizierung
  • Deal API braucht Wallet und API Key
  • Achten Sie auf Geschwindigkeitsbegrenzungen.

Gasoptimierung

  • EOA-Modus erfordert POL-Zahlung Gas
  • Sie können Proxy-Wallets beantragen, um die Gasless-Transaktion durchzuführen