Skip to content

metachainworksdev/meta-vault

 
 

Repository files navigation

Polymarket 套利机器人

针对 Polymarket 15 分钟加密货币涨跌市场的自动化「抄底 + 对冲」交易 — TypeScript、官方 CLOB 客户端,可在 BTC、ETH、SOL、XRP 上无人值守运行。

本方向活跃开发周期:2026-01-042026-04-02

Node.js TypeScript

目录


项目背景

短期预测市场波动极快。当某一侧在几秒内急跌时,另一侧往往滞后 —— 若你能以足够低的价格同时买到两条腿,配对份额的总成本可能低于 1 美元,从而在结算前锁定结构性优势。

本机器人会持续监控这些市场,识别符合你阈值的剧烈波动,执行两腿周期(抄底 → 对冲),并跟踪盈亏 —— 还可选模拟模式,在动用真金白银前验证行为。


功能说明

能力 说明
多标的 可交易一个或多个市场:btcethsolxrp(逗号分隔)。
自动发现 通过 Polymarket Gamma API 解析每个标的当前活跃的 15 分钟涨跌市场,并在每个新周期自动切换。
急跌检测 利用近期卖一(ask)历史,在短时间窗口内按你的波动阈值标记一条腿。
对冲逻辑 第一条腿成交后,当 腿1 入场价 + 对侧卖一 ≤ 你的价格和目标(如 0.95)时再买入第二条腿。
风控 若在 N 分钟内未出现有利对冲,可配置止损对冲
结算 市场结束时核对输赢,生产环境可对链上赎回获胜头寸。
日志 向 stderr 输出活动,并追加写入 history 文件供复盘与审计。

策略流程

新的 15 分钟轮次
     │
     ▼
┌─────────────────┐     涨或跌一侧快速下跌     ┌──────────────┐
│ 观察窗口        │ ─────────────────────────► │ 买入急跌侧   │
│ (前 N 分钟)   │                            │ (腿 1)     │
└─────────────────┘                            └──────┬───────┘
                                                      │
                              对侧卖一足够便宜        │
                              (合计 ≤ 目标)         ▼
                                                    ┌──────────────┐
                                                    │ 买入对冲腿   │
                                                    │ (腿 2)     │
                                                    └──────┬───────┘
                                                           │
                    超时? ────────────────────────────────┤
                                                           ▼
                                                止损对冲路径

交易者模块的简化示意图;阈值可通过环境变量调节。


技术栈

  • 运行时: Node.js 16+
  • 语言: TypeScript
  • Polymarket: @polymarket/clob-client(下单、鉴权),Gamma + CLOB HTTP API(市场、价格)
  • 链: Polygon(USDC、CTF 赎回流程)

快速开始

前置条件

  • Node.js 16 或更高版本
  • 兼容 Polymarket 的钱包;实盘需在 Polygon 上有 USDC,并明确 EOA 与代理(proxy) 签名方式(.env 中的 SIGNATURE_TYPE

安装

git clone repo
cd polymarket-arbitrage
npm install
cp .env.example .env
# 编辑 .env — 见下方 [配置](#配置)
npm run build

运行方式

命令 用途
npm run dev 使用 ts-node 从源码运行(开发)。
npm run typecheck 仅做 TypeScript 检查,不生成 dist/
npm run clean 删除 dist/ 下的编译产物。
npm run sim 模拟 — 记录交易日志,不下真实单(--simulation)。
npm run prod 生产 — 真实 CLOB 下单(--production)。
npm start 运行 dist/main.js;结合下方参数与 .env 使用。

实盘:.env 中设置 PRODUCTION=true 并运行 npm run prod(或 node dist/main.js --production),避免进程停留在模拟模式。


配置

.env.example 复制为 .env 并按需修改。

变量 作用
PRIVATE_KEY 真实下单与赎回所必需。
PROXY_WALLET_ADDRESS 如使用 Polymarket 代理/档案地址则填写。
SIGNATURE_TYPE 0 EOA,1 Proxy,2 Gnosis Safe(示例中默认为 2)。
GAMMA_API_URL 可选;默认 https://gamma-api.polymarket.com
CLOB_API_URL 可选;默认 https://clob.polymarket.com
API_KEY / API_SECRET / API_PASSPHRASE 可选;若你的环境需要 CLOB API 凭证则填写。
MARKETS 例如 btcbtc,eth,sol,xrp(逗号分隔、小写)。
CHECK_INTERVAL_MS 轮询价格的间隔(毫秒,默认 1000)。
MARKET_CLOSURE_CHECK_INTERVAL_SECONDS 检查轮次是否结束的频率(秒,默认 20)。
DUMP_HEDGE_SHARES 每条腿的份额数量。
DUMP_HEDGE_SUM_TARGET 对冲时两腿价格和的上限(如 0.95)。
DUMP_HEDGE_MOVE_THRESHOLD 视为急跌的最小比例跌幅(如 0.15 表示 15%)。
DUMP_HEDGE_WINDOW_MINUTES 仅在每轮前 N 分钟内寻找急跌机会。
DUMP_HEDGE_STOP_LOSS_MAX_WAIT_MINUTES N 分钟内无有利对冲则走止损路径。
DUMP_HEDGE_STOP_LOSS_PERCENTAGE 强制对冲时价格和的上限:max(腿1 + 对侧) = 1 + 该比例(默认 0.2)。
PRODUCTION false 为模拟;实盘请设为 true 并与 --production 一起使用。

项目结构

src/
  main.ts            # 入口:发现市场、监控、周期切换
  monitor.ts         # 价格轮询与快照
  dumpHedgeTrader.ts # 急跌 → 对冲 → 止损 → 结算跟踪
  api.ts             # Gamma、CLOB、下单、赎回、活动
  config.ts          # 环境变量加载
  models.ts          # 共享类型
  logger.ts          # history 文件 + stderr

免责声明

本软件仅供教育与研究。预测市场与自动化交易存在重大财务风险,包括可能全部亏损。历史或模拟表现绝不代表未来结果。你须自行遵守适用法律、交易所条款与税务义务。文中内容不构成投资、法律或税务建议。


运行安全清单

  • 先跑模拟,在多轮次中检查 history.toml
  • 实盘初期使用较小的 DUMP_HEDGE_SHARES 与较保守的阈值。
  • 勿将私钥提交到版本库;已泄露的凭证应及时轮换。

贡献者

核心开发(2026 年一季度):buffalubunghicalvinzhou-rockxCarlostedcavemanloverboych9xyChewingGlasscodemonkey6969cryptogosucryptopapi997danpaul000


参与贡献

欢迎提 Issue 与 Pull Request:策略思路、更安全的默认值、测试与更清晰的文档对大家都有帮助。
本地流程与提交规范见 CONTRIBUTING.md


故障排查

  • Failed to fetch market/orderbook 多为 API 或网络瞬时问题;确认端点与重试逻辑。
  • 生产环境下单失败: 核对 PRIVATE_KEYSIGNATURE_TYPE 与代理钱包设置是否与 Polymarket 账户一致。
  • 找不到市场: 确认 MARKETS 仅包含支持的标的(btcethsolxrp),并等待下一轮 15 分钟开盘。

许可证

条款见本仓库中的 LICENSE

About

Polymarket arbitrage trading bot Polymarket arbitrage bot polymarket bot Polymarket arbitrage trading bot Polymarket arbitrage bot polymarket bot Polymarket arbitrage trading bot Polymarket arbitrage bot polymarket bot Polymarket arbitrage trading bot Polymarket arbitrage bot polymarket bot Polymarket arbitrage trading bot Polymarket arbitrage bot

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 100.0%