Skip to content

LordVibeCoding/Polymarket-Follow-Trading-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Polymarket Copy Trading Bot

复制指定钱包在 Polymarket 上的买卖与赎回操作,自动按自定义资金占比同步跟单。内置 Builder/Relayer 支持、历史去重、风险控制等机制,可直接接入真实账户运行。

功能特点

  • 实时监控多钱包:轮询 Polymarket Data API,自动去重并支持黑名单过滤。
  • 余额占比下单:每笔信号按自己钱包 USDC 余额 × ORDER_BALANCE_RATIO 计算预算,使用官方 CLOB 市价单(FAK)立即成交。
  • 自动卖出/赎回:检测到目标钱包卖出或赎回时,机器人会卖掉在该 token 上的全部持仓,赎回操作通过 Builder Relayer 免 gas 完成。
  • 历史去重与持久化:本地 state/state.json 记录每个目标地址的最新时间戳与已处理交易,配合 SKIP_HISTORY_ON_START 避免首启“补单”。
  • 官方合规签名:统一走 @polymarket/clob-client@polymarket/builder-relayer-client,自动注入 Builder 认证头,无需手写 EIP712。
  • 日志友好:全部中文日志;成功日志只包含“买入/卖出/赎回完成”,失败时直接返回原因,便于排查。

架构速览

┌──────────────┐    1. 轮询 Data API trades
│ TradeMonitor │ ─────────────────────────┐
└──────────────┘                           │
             trade signals                 ▼
                                ┌────────────────┐
                                │ TradeExecutor  │
                                ├───────────────┬┴───────────────┐
                                │               │                │
                    buy/sell via CLOB   redeem via Relayer   状态缓存
  • TradeMonitor:按目标地址依次抓取成交,结合 stateStore 只推送新信号,并在首次启动时执行“跳过历史”。
  • TradeExecutor:根据信号构建跟单指令,校验余额/滑点/最小金额,使用官方 SDK (createMarketOrder + postOrder) 下 FAK 市价单,或通过 Relayer 执行 redeemPositions
  • stateStore:保存本地时间戳与已处理哈希,支持手动删除 state/state.json 重置。

快速开始

1. 环境要求

  • Node.js 18+、npm
  • Polygon RPC(Infura/Alchemy/自建均可)
  • 已开通 Polymarket Builder Profile,并能导出 Proxy/EOA 私钥

2. 克隆与安装

npm install
cp .env.example .env  # 根据自身配置修改

3. 配置 .env

  • 所有变量都在 .env.example 中给出示例,请至少填写钱包、私钥、RPC、CLOB/Relayer 地址、Builder 凭证。
  • SIGNATURE_TYPE0=EOA1=Polymarket Proxy/Magic2=Gnosis Safe,务必与 PROXY_WALLET 的实际登录方式一致。

4. 运行机器人

npm run build            # 或直接使用 ts-node
npx ts-node src/index.ts

默认会跳过首次抓到的历史成交;若想重新同步,请删除 state/state.json

主要环境变量

变量 说明 示例
PROXY_WALLET 用于复制交易的钱包地址 0xabc...
PRIVATE_KEY 对应的钱包私钥(加密保存) 0x......
RPC_URL Polygon RPC 链接 https://polygon-mainnet.infura.io/v3/...
CLOB_HTTP_URL / CLOB_WS_URL Polymarket CLOB HTTP/WS 入口 https://clob.polymarket.com/
DATA_API_URL Polymarket Data API https://data-api.polymarket.com
TARGET_WALLETS 逗号分隔的目标钱包列表 0xaaa,0xbbb
BLACKLIST_WALLETS 可选,剔除不想复制的地址 0xccc
SKIP_HISTORY_ON_START true=首次启动跳过历史成交 true
FETCH_INTERVAL 轮询间隔(毫秒) 1000
ORDER_BALANCE_RATIO 单笔跟单占余额比例 0.2
MIN_TRADE_USDC 最小跟单金额 5
MAX_SLIPPAGE 允许的最大滑点(比例) 0.05
USDC_CONTRACT_ADDRESS Polygon USDC 合约地址 0x2791...
POLY_RELAYER_URL Builder Relayer 地址 https://relayer-v2.polymarket.com/
POLY_BUILDER_API_KEY/SECRET/PASSPHRASE Builder 凭证(Settings → Builders 获取) ...
SIGNATURE_TYPE 0/1/2,详见上文 1

运行时行为

  • 日志INFO 表示成功(启动、心跳、买入/卖出/赎回完成),WARN 直接给出失败原因,例如 “盘口没有足够流动性” 或 “invalid amounts”。
  • 订单类型:FAK 市价单,能成交多少吃多少,剩余立即取消;打到 400(没有可成交量)会被跳过。
  • 余额与精度:预算始终以自己钱包 USDC 余额 × 比例为上限,且下单前会自动截断为 2 位(USDC)/4 位(份额),满足 CLOB 的精度规则。
  • 赎回流程:当信号类型为 REDEEM 时,机器人会检查本地持仓并通过 Relayer 执行 redeemPositions,日志会返回链上 tx hash。

常见问题

问题 可能原因与处理
invalid signature SIGNATURE_TYPE 与实际登录方式不符,或 PROXY_WALLET/PRIVATE_KEY 不匹配。请确认 .env 设置后重启。
invalid amounts, ... 2 decimals 旧版本未上线。请 npm run build && npx ts-node src/index.ts 重新启动,确保已加载最新代码。
no orders found to match ... FAK 该信号触发时盘口已被吃光,属正常现象。机器人会记录 WARN 并等待下一笔信号。
Client network socket disconnected ... TLS 数据 API 请求时网络抖动,稍后会自动恢复,可忽略。

状态文件

  • state/state.json 记录每个目标地址的 lastTimestamp、已处理 tx 哈希,以及是否需要跳过历史。
  • 删除该文件即可强制重新同步(谨慎操作,可能触发重复跟单)。
  • 日志会提示 “首次运行跳过历史成交” 说明跳过逻辑生效。

脚本 & 调试

  • npm run recent:查看 TARGET_WALLETS 中每个地址最近 10 笔交易(买/卖/赎回,含价格与份额)。
  • 需要以源码实时调试可使用 npx ts-node src/index.ts,无需重新构建。

安全提示

  • .env 内的私钥/Builder 凭证必须妥善保管,建议 chmod 600 .env
  • Builder API Key 建议区分环境使用;如需远程签名,可将 builderConfig 替换为官方 Signing Server。

若对 Polymarket CLOB/Relayer 有疑问,可参考官方文档:docs/developers_CLOB_clients.md, docs/developers_CLOB_orders_create-order.md, docs/developers_builders_order-attribution.md, docs/developers_builders_relayer-client.md

About

Polymarket Follow Trading Bot — 实时监听顶级交易者的钱包,自动克隆他们的买卖与赎回动作。官方 CLOB/Relayer 签名、余额占比策略、历史去重与中文日志全部开箱即用。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors