查询 Polymarket:市场、价格、订单簿、历史数据
概述
使用 Polymarket 公开 REST API 查询预测市场数据。所有端点只读,无需认证。
完整端点参考及 curl 示例见
references/api-endpoints.md。
使用场景
- 用户询问预测市场、投注赔率或事件概率
- 用户想知道"X 发生的概率是多少?"
- 用户专门询问 Polymarket
- 用户需要市场价格、订单簿数据或价格历史
- 用户要求监控或追踪预测市场变动
核心概念
- Events 包含一个或多个 Markets(1:多关系)
- Markets 是二元结果,Yes/No 价格在 0.00 到 1.00 之间
- 价格即概率:价格 0.65 表示市场认为 65% 可能性
outcomePrices 字段:JSON 编码数组,如 ["0.80", "0.20"]
clobTokenIds 字段:JSON 编码的两个代币 ID 数组 [Yes, No],用于价格/订单查询
conditionId 字段:十六进制字符串,用于价格历史查询
- Volume 以 USDC(美元)计
三个公开 API
| API | 地址 | 用途 |
| ----- | ------ | ------ |
| Gamma API | gamma-api.polymarket.com | 发现、搜索、浏览 |
| CLOB API | clob.polymarket.com | 实时价格、订单簿、历史 |
| Data API | data-api.polymarket.com | 交易、持仓量 |
典型工作流
当用户询问预测市场赔率时:
1. 使用 Gamma API
public-search 端点搜索查询
2. 解析响应——提取事件及其嵌套市场
3. 展示市场问题、当前价格(百分比)和交易量
4. 如需深入——用
clobTokenIds 查订单簿,用
conditionId 查历史
展示结果
格式化价格为百分比以提高可读性:
outcomePrices ["0.652", "0.348"] → "Yes: 65.2%, No: 34.8%"
- 始终显示市场问题和概率
- 可用时显示交易量
示例:
"X 会发生吗?" — 65.2% Yes($1.2M 交易量)
解析双重编码字段
Gamma API 返回的
outcomePrices、
outcomes、
clobTokenIds 是 JSON 响应内的 JSON 字符串(双重编码)。
Python 处理时,用
json.loads(market['outcomePrices']) 获取实际数组。
速率限制
宽松——正常使用不太可能触发:
- Gamma:每 10 秒 4,000 请求(通用)
- CLOB:每 10 秒 9,000 请求(通用)
- Data:每 10 秒 1,000 请求(通用)
限制说明
- 本技能只读——不支持下单交易
- 交易需要钱包加密认证(EIP-712 签名)
- 部分新市场可能价格历史为空
- 地理限制适用于交易,但只读数据全球可访问
安装指南
复制下方命令,在终端运行即可安装此技能:
# 安装到当前项目
npx skills add polymarket
# 全局安装 — 所有项目可用
npx skills add polymarket -g
评论区