OpenClaw x Polymarket: Hände, um Ihnen beizubringen, wie man eine automatisierte Handelsmaschine baut 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:
- Erstellen einer Polygon Wallet (empfohlen mit MetaMask)
- Einlagen USDC.e(für den Handel) und kleine POL(für Gas)
- Für das Wallet. Private Key
- 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