mcpField
P
polymarket-monitor

polymarket-monitor

github.com/mjunaidca其他98215 次安装35 周前更新
代码仓库

关于 polymarket-monitor

面向关注代币价格和市场状况的 Polymarket 用户的只读监控技能。它轮询一个或多个市场,并输出 JSON 警报或快照,无需 API 密钥。

主要功能

  1. 01按阈值触发价格警报
  2. 02轮询多个代币
  3. 03单市场快照
  4. 04价差与订单簿摘要
  5. 05可配置轮询间隔

适用场景

  1. 01对选定市场的价格变动发出警报
  2. 02查看单个市场的价差和深度
  3. 03无需 API 凭据跟踪市场状况

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mjunaidca/polymarket-skills --skill polymarket-monitor

安装后在 Claude Code 中输入/polymarket-monitor确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
monitoring-guide.md
scripts/
monitor_prices.py
watch_market.py

详细介绍

Polymarket 市场监控

监控 Polymarket 预测市场的实时价格变化、成交量激增和价差波动。超过阈值时输出结构化 JSON 告警。所有端点均为只读,无需 API 密钥。

前置条件: 此技能使用 polymarket-scanner 技能提供的代币 ID。请先运行 scan_markets.py,以发现市场并获取代币 ID。

快速开始

所有脚本都需要 /home/verticalclaw/.venv 中的 Python 虚拟环境。

监控多个市场的价格告警
source /home/verticalclaw/.venv/bin/activate && python polymarket-monitor/scripts/monitor_prices.py \
  --token-id "<TOKEN_ID_1>" \
  --token-id "<TOKEN_ID_2>" \
  --interval 30 \
  --threshold 5.0

此脚本每 30 秒轮询一次,当代币中间价相对于基准价变动超过 5% 时,输出 JSON 告警。

实时监控单个市场
source /home/verticalclaw/.venv/bin/activate && python polymarket-monitor/scripts/watch_market.py \
  --token-id "<TOKEN_ID>" \
  --interval 15

每 15 秒输出一次 JSON 快照,包含价格、价差和订单簿深度。

脚本

monitor_prices.py

按设定的时间间隔轮询多个代币,当价格变化超过阈值时输出 JSON 告警。

参数:

  • --token-id ID — 要监控的 CLOB 代币 ID(可重复,至少需要一个)
  • --interval N — 轮询间隔,单位为秒(默认值:30,最小值:5)
  • --threshold N — 触发告警的变动百分比(默认值:5.0)
  • --max-polls N — 轮询 N 次后停止(默认值:不限;用于非交互式运行)
  • --baseline-window N — 用于计算基准价平均值的近期价格数量(默认值:1,即与上次轮询的价格比较)

输出: 每条告警占一行,为一个 JSON 对象:

{
  "type": "price_alert",
  "token_id": "...",
  "timestamp": "2026-02-26T12:00:00Z",
  "current_price": 0.65,
  "baseline_price": 0.60,
  "change_pct": 8.33,
  "direction": "up",
  "spread": 0.02,
  "poll_number": 5
}

未触发告警的轮询会向 stderr 输出状态行,让 Agent 知道监控仍在运行。

watch_market.py

持续监控单个市场,每个时间间隔输出一条 JSON 快照,包含价格、价差、成交量和订单簿摘要。

参数:

  • --token-id ID — 要监控的 CLOB 代币 ID(必需)
  • --interval N — 快照间隔,单位为秒(默认值:15,最小值:5)
  • --max-polls N — 输出 N 条快照后停止(默认值:不限)

输出: 每条快照占一行,为一个 JSON 对象:

{
  "type": "market_snapshot",
  "token_id": "...",
  "timestamp": "2026-02-26T12:00:00Z",
  "midpoint": 0.55,
  "best_bid": 0.54,
  "best_ask": 0.56,
  "spread": 0.02,
  "bid_depth": 15000.0,
  "ask_depth": 12000.0,
  "last_trade_price": 0.55,
  "last_trade_side": "BUY",
  "poll_number": 1
}

数据流

  1. 运行 polymarket-scanner/scripts/scan_markets.py,查找市场并获取代币 ID
  2. 将代币 ID 传给 monitor_prices.py,监控多个市场并触发告警
  3. 或将单个代币 ID 传给 watch_market.py,详细追踪单个市场

监控指南

有关不同市场类型的建议阈值和高级监控策略,请参阅 references/monitoring-guide.md。

评论

支持 Markdown