PolyClaw 是一款面向 OpenClaw 生态的、具备交易能力的 Polymarket 技能插件,核心定位是为用户提供基于 Polygon 链的预测市场浏览、链上交易执行、对冲机会发现等能力,并通过大语言模型(LLM)驱动的分析能力,为预测市场交易决策提供支撑。
该工具仅用于教育和实验目的,不构成任何金融建议;同时需注意,预测市场交易存在本金损失风险,且代码未经审计,用户需仅使用可承受损失的资金进行操作。
What【项目架构】
1. 整体目录结构
PolyClaw 采用模块化的目录设计,核心目录 / 文件及职责如下:
Plain Text polyclaw/ ├── .gitignore# Git 版本控制忽略文件配置 ├── LICENSE# 项目许可协议 ├── README.md# 项目核心说明文档 ├── SKILL.md# 技能相关补充说明 ├── pyproject.toml# Python 项目依赖与构建配置 ├── scripts/# 核心可执行脚本目录(CLI 入口) │├── hedge.py# 对冲功能实现脚本 │├── markets.py# 市场浏览功能实现脚本 │├── polyclaw.py# 主 CLI 入口脚本,整合所有功能 │├── positions.py# 仓位跟踪功能实现脚本 │├── trade.py# 交易执行功能实现脚本 │└── wallet.py# 钱包管理功能实现脚本 └── lib/# 核心库文件目录(底层能力封装) ├── __init__.py# 库模块初始化 ├── clob_client.py# CLOB(中央限价订单簿)客户端交互 ├── contracts.py# 智能合约交互封装 ├── coverage.py# 对冲覆盖率计算/分析 ├── gamma_client.py# Polymarket Gamma 协议客户端 ├── llm_client.py# LLM 客户端(OpenRouter)交互封装 ├── position_storage.py # 本地仓位数据存储管理 └── wallet_manager.py# 钱包私钥、余额、授权管理 |
2. 核心架构逻辑
入口层:以 scripts/polyclaw.py 为统一 CLI 入口,整合钱包、市场、交易、仓位、对冲等所有功能命令;
业务层:scripts/ 下的各脚本按功能拆分,分别实现单一业务逻辑(如市场浏览、交易、对冲),降低耦合;
底层能力层:lib/ 目录封装底层核心能力,包括链上合约交互、LLM 调用、钱包管理、数据存储等,为业务层提供统一接口;
数据存储:仓位数据本地存储于 ~/.openclaw/polyclaw/positions.json,无需外部数据库。
What【核心技术栈】
1. 基础开发语言
Python:项目核心开发语言,适配 CLI 脚本开发、链上交互、API 调用等场景。
2. 链上交互相关
Polygon 主网:核心运行区块链网络,所有交易 / 授权操作基于该网络;
Web3.py:Python 生态主流的区块链交互库,用于对接智能合约、发送交易;
Chainstack 节点:Polygon 链的 RPC 节点服务,提供链上数据访问和交易上链能力;
Polymarket 智能合约:包括 Gamma 协议、CLOB 订单簿合约等,实现交易、仓位管理核心逻辑。
3. AI/LLM 相关
OpenRouter API:对接各类大语言模型的统一接口,用于驱动对冲机会的逻辑分析(仅识别逻辑必然的关联,拒绝相关性 / 概率性结论);
自定义 LLM 逻辑封装(llm_client.py):适配 OpenRouter API,实现对冲分析的提示词工程和结果解析。
4. 工程化与依赖管理
uv:Python 现代包管理工具,用于环境同步、依赖安装和脚本运行;
OpenClaw 生态:作为 OpenClaw 的技能插件,遵循其配置规范(如 openclaw.json 环境变量配置)。
Why【功能与用途】
1. 市场浏览
查看 24 小时交易量靠前的热门市场:polyclaw markets trending;
按关键词搜索预测市场:polyclaw markets search "query";
查看指定市场详情(含价格):polyclaw market
; 用途:快速掌握 Polymarket 上的市场动态,定位关注的预测标的。
2. 链上交易
买入 YES/NO 仓位:polyclaw buy
YES/NO ;交易执行逻辑:采用 “拆分 + CLOB” 模式(将 USDC 拆分为 YES+NO 仓位,卖出非目标仓位);
用途:直接在 Polymarket 上完成链上交易操作,无需手动对接合约。
3. 仓位跟踪
列出所有未平仓仓位及实时盈亏:polyclaw positions;
查看指定仓位的详细信息:polyclaw position
; 用途:实时掌握自身持仓状态,跟踪收益 / 损失情况。
4. 钱包管理
查看钱包地址、POL/USDC.e 余额:polyclaw wallet status;
一键设置 Polymarket 合约授权(一次性操作):polyclaw wallet approve;
用途:管理交易钱包的基础状态,完成交易前的合约授权准备。
5. 对冲机会发现
扫描热门市场 / 指定关键词市场的对冲机会:polyclaw hedge scan [--query "topic"];
分析指定两个市场的对冲关系:polyclaw hedge analyze
;对冲分析规则:基于 LLM 实现 “逆否逻辑” 分析,仅识别逻辑必然的对冲关系,覆盖度分为 T1(≥95%)、T2(90-95%)、T3(85-90%)三个等级;
用途:识别预测市场中的风险对冲机会,降低交易风险。
How【安装与部署】
0. 前置条件
拥有 Polygon 主网钱包(含少量 POL 用于支付 Gas 费,少量 USDC.e 用于交易);
准备 Chainstack 节点 RPC 地址(Polygon 主网)、OpenRouter API 密钥;
安装 Python 环境(建议 3.10+)、uv 包管理工具。
1. 安装方式
方式 A:从 ClawHub 安装(推荐)
bash # 从 ClawHub 安装 PolyClaw 技能 clawhub install polyclaw # 进入技能目录 cd ~/.openclaw/skills/polyclaw # 同步项目依赖 uv sync |
方式 B:手动安装
bash # 将 PolyClaw 仓库复制到 OpenClaw 技能目录 cp -r polyclaw ~/.openclaw/skills/ # 进入技能目录 cd ~/.openclaw/skills/polyclaw # 同步项目依赖 uv sync |
2. 环境配置
编辑 OpenClaw 的配置文件 openclaw.json,在 skills.entries.polyclaw.env 中添加以下环境变量:
json "polyclaw": { "enabled": true, "env": { "CHAINSTACK_NODE": "https://polygon-mainnet.core.chainstack.com/你的Chainstack密钥", "POLYCLAW_PRIVATE_KEY": "0x你的钱包私钥", "OPENROUTER_API_KEY": "sk-or-v1-你的OpenRouter API密钥" } } |
*密钥获取说明:
Chainstack 节点:注册 Chainstack 账号(支持 GitHub/X/Google 登录,免费套餐可用),创建 Polygon 主网节点并获取 RPC 地址;
OpenRouter API 密钥:在 OpenRouter 官网(https://openrouter.ai/)注册后,从 “设置 - 密钥” 页面创建。
3. 首次部署准备(交易必备)
首次交易前需完成 Polymarket 合约授权(一次性操作,Gas 费约 0.01 POL):
bash uv run python scripts/polyclaw.py wallet approve |
该命令会向 Polygon 链提交 6 笔授权交易,完成后即可正常交易。
4. 验证部署
执行以下命令验证功能是否正常:
bash # 查看热门市场 uv run python scripts/polyclaw.py markets trending # 查看钱包状态 uv run python scripts/polyclaw.py wallet status |
*官方代码仓库:https://github.com/chainstacklabs/polyclaw
夜雨聆风