OpenClaw x Polymarket:手把手教你搭建自动交易机器人

Polymarket 交易机器人

什么是 Polymarket?

Polymarket 是全球最大的预测市场,用户可以交易各种事件的发生概率——从体育比赛到政治选举,从加密货币价格到科技新闻。交易方式类似于「二元期权」:买入某个结果的「Yes」或「No」代币,如果结果发生则获得奖励。

它的核心优势在于:

  • 完全去中心化:基于 Polygon 链,公开透明
  • 实时价格发现:市场预测往往比传统民调更准确
  • API 开放:提供完整的交易 API,支持自动化交易

准备工作

1. 安装 Python 依赖

我们需要用到 py-clob-client 这个官方 SDK:

pip install py-clob-client requests python-dotenv

2. 获取钱包和 API Key

Polymarket 支持两种认证方式:

  • EOA 钱包(自己付 Gas)
  • 代理钱包(Gasless 交易)

这里演示最简单的方式——EOA 钱包:

  1. 创建一个 Polygon 钱包(建议用 MetaMask)
  2. 存入 USDC.e(用于交易)和少量 POL(用于 Gas)
  3. 获取钱包的 私钥
  4. 使用 SDK 的 create_or_derive_api_creds() 方法自动生成 API 凭证

3. OpenClaw 环境

OpenClaw 可以通过 exec 工具执行 Python 代码,非常适合跑这种自动化脚本。

核心代码实现

基础版:监控市场 + 自动下单

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

进阶版:均值回归策略机器人

这个策略的核心思想是:当价格偏离均值时自动买入,等待回归。

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 集成

在 OpenClaw 中运行这个机器人非常简单。你可以把上面的代码保存为 polymarket_bot.py,然后在 OpenClaw 中执行:

运行 python polymarket_bot.py

注意事项

1. 风险提示

  • 预测市场波动大,请只用可承受损失的资金
  • 建议先在测试网熟悉流程
  • 机器人交易需要持续监控,防止极端行情

2. API 限制

  • 公开 API 无需认证
  • 交易 API 需要钱包和 API Key
  • 注意速率限制

3. Gas 优化

  • EOA 模式需要 POL 支付 Gas
  • 可以申请代理钱包实现 Gasless 交易

暂无介绍....

延伸阅读:

一行命令干翻5个API!阿里云百炼CLI开源,Agent水电煤之战正式开打

5月29日,阿里云干了一件让 Agent 开发者集体高潮的事——百炼核心能力正式 CLI 化,一行命令就能让 AI Ag...

itadol5j
2026年5月29日
20亿用户握手!PayPal钱包正式接入微信支付,老外来华扫码时代到了

5月27日,支付圈传出来一个让人眼前一亮的消息:腾讯财付通全球与 PayPal World 正式达成合作,PayPal ...

itadol5j
2026年5月28日
支付宝杭州扔下王炸:3亿笔智能体支付已跑通,AI付Token Pay四件套定义新范式

5月26日下午,支付宝在杭州未来科技城国际会议中心办了一场叫"AI 支付生态大会"的活动。表面看是常规的产品发布会,实际...

itadol5j
2026年5月27日
渗透圈一夜变天!Xalgorix 22阶段全自动 AI 攻击平台开源,国产模型直接接

渗透测试这行最累的是什么?不是写报告,是重复劳动——侦察、目录爆破、注入点测试、SSRF 验证、CORS 检查……一个标...

itadol5j
2026年5月27日
Claude Mythos 企业版挖出超1万高危漏洞:Anthropic 联手13家巨头建AI安全联盟

Anthropic 最近搞了个大动作,但这次不是发新模型那么简单。4月7日,它联合了一串你可能做梦都想不到会站在一起的公...

itadol5j
2026年5月26日