Arbitrage Trading Bot:用 TypeScript 构建的 Polymarket 自动化交易机器人
📅 2026年05月27日 · 技术
引言
预测市场(Prediction Market)近年来在加密领域获得了越来越多的关注,其中 Polymarket 是规模最大的平台之一。对于想要在预测市场上进行自动化交易的开发者来说,arbitrage-trading-bot 提供了一个完整的、可投入生产的开源解决方案——用 TypeScript 构建,支持多种交易策略,并且直接对接 Polymarket 的 CLOB(中央限价订单簿)。
项目介绍
arbitrage-trading-bot 是一个面向 Polymarket 短期加密预测市场(如"比特币 5 分钟内涨还是跌")的自动化交易机器人。它不是回测工具或模拟器——所有仓位状态都从链上实时读取,订单通过 Polygon 链上的 FAK(Fill-and-Kill)市价单执行。项目的架构设计非常清晰:从配置加载、CLOB 客户端认证、市场发现、价格轮询到策略决策和订单执行,形成了一套完整的流水线。
核心特性
- 自动市场发现:根据配置的币种和时间窗口自动解析市场,获取 UP/DOWN 代币 ID,窗口到期后自动切换到下一轮。
- 实时价格轮询:每秒轮询 CLOB 价格(BUY/SELL),支持超时重试和缓存回退,确保数据不中断。
- 链上仓位管理:通过
getBalanceAllowance读取真实链上余额,不使用内存模拟的 PnL,杜绝"纸上富贵"。 - 双策略引擎:提供
trade_1(纯退出模式)和trade_2(入场+退出+紧急翻转)两种策略,通过trade.toml配置即可切换。 - 安全认证:支持代理钱包签名和 EOA 签名两种模式,自动降级,降低配置门槛。
架构亮点
项目的状态管理非常扎实:从配置加载(Zod 校验)到 CLOB 认证(派生/创建 API Key),再到市场 slug 解析、Gamma API 获取代币 ID、价格轮询、策略判断、FAK 下单,最后回到价格轮询——形成了一个闭环。这种"始终从链上获取真相"的设计哲学,避免了传统交易机器人常见的状态漂移问题。
适合谁用
如果你是对预测市场感兴趣的 TypeScript 开发者,或者正在研究 CLOB 交易系统的架构设计,这个项目都是极好的参考。它的代码组织清晰,配置驱动,容易 fork 和定制。但请注意,交易有风险,使用前务必充分测试。
总结
arbitrage-trading-bot 展示了如何用现代 TypeScript 工具链优雅地构建链上交易自动化系统。它的价值不仅在于可以直接使用,更在于提供了一个清晰的架构范例——如何组织配置、管理状态、处理链上交互和错误恢复。对于想深入了解 Polymarket 生态或 CLOB 交易系统的开发者来说,这是一个不可多得的学习资源。