Files
Polymarket-5min-bot/README.zh-CN.md
T
2026-07-27 10:41:20 +08:00

120 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Polymarket-5min-bot
[English](./README.md) | **中文**
**联系方式**[smith123_lee](https://t.me/smith123_lee)
> 面向 [Polymarket](https://polymarket.com) 加密货币「Up or Down」5 分钟预测市场的 Rust 套利机器人。
account运行界面
## 基本原理
Polymarket 的 Up/Down 市场每 5 分钟(UTC)开一个新窗口,每个市场有 YES 和 NO 两个结果代币。
理论上,持有等量 YES + NO 可在结算时兑换 1 USDC,因此:
```
YES 卖一价 + NO 卖一价 < 1 → 存在套利空间
```
机器人大致流程如下:
1. **发现市场** — 按配置的币种(如 btc、eth)自动查找当前 5 分钟窗口对应的 Up/Down 市场。
2. **监控订单簿** — 订阅 CLOB 订单簿,实时计算 YES + NO 的合计价格。
3. **执行套利** — 当合计价格低于阈值时,同时买入 YES 和 NO;可通过滑点、单笔上限、执行价差等参数控制下单行为。
4. **Merge 回收** — 若同时持有 YES 和 NO,可链上 Merge 合并为 USDC/pUSD,减少持仓风险。
5. **窗口收尾** — 接近窗口结束时,可自动取消挂单、Merge、并卖出剩余单腿仓位。
> 本程序连接真实市场与真实资金,使用前请充分理解风险。
## 快速开始
### 预编译可执行文件
如果你不会编译代码,请直接使用 **[Releases](../../releases/latest)** 中提供的预编译可执行文件:
1. 从 Releases 下载对应系统/架构的安装包
2. 复制 `.env.example``.env`,并填写必填项
3. 运行:
- Linux / macOS`./polypulse`
- Windows`polypulse.exe`
### 从源码编译
需要先安装 [Rust](https://rustup.rs)。
```bash
cp .env.example .env # 填写 .env 配置文件的必填项后启动
cargo run # 运行程序
```
详细参数说明见 `.env.example`,按 `[1]` ~ `[9]` 分区排列:越靠前越重要。
## 基础配置
### 必填
| 变量 | 说明 |
| -------------------------- | -------------------------------------------------------------------------------------------------------- |
| `POLYMARKET_PRIVATE_KEY` | 签名私钥。邮箱/Magic 从 [reveal.magic.link/polymarket](https://reveal.magic.link/polymarket) 导出;浏览器钱包导出对应 EOA 私钥 |
| `POLYMARKET_PROXY_ADDRESS` | 资金托管地址(Settings 里的 Address,非 EOA),见 [polymarket.com/settings](https://polymarket.com/settings) |
### 签名类型 `SIGNATURE_TYPE`
**Settings 里资金钱包的类型** 选择,与「邮箱还是浏览器钱包注册」无必然对应:
| 值 | 适用场景 |
| ------------------ | -------------------------------------------------------- |
| `Poly1271`**默认** | V2 deposit wallet;邮箱/Magic 与浏览器钱包授权账号均适用 |
| `Proxy` | 仅 V1 旧 Magic 代理(Settings 地址须等于 ProxyFactory 从 EOA 推导的地址) |
| `GnosisSafe` | Gnosis Safe 多签 |
| `Eoa` | 纯 EOA 直连,无需 `POLYMARKET_PROXY_ADDRESS` |
**判断方法:** 保持默认 `Poly1271` 即可。若误设 `Proxy` 且下单报 `please use the deposit wallet flow`,说明账号已走 V2 deposit wallet,应改回 `Poly1271`(私钥与 `POLYMARKET_PROXY_ADDRESS` 无需改动)。
### Merge 所需(启用定时 Merge 或收尾时必填)
| 变量 | 说明 |
| ------------------------- | ---------------------- |
| `POLY_BUILDER_API_KEY` | Builder API Key |
| `POLY_BUILDER_SECRET` | Builder API Secret |
| `POLY_BUILDER_PASSPHRASE` | Builder API Passphrase |
以上三项在 Polymarket → Settings → Builder 获取。
### 常用可选项
| 变量 | 默认值 | 说明 |
| ------------------------------------- | ----------------- | --------------------------------- |
| `CRYPTO_SYMBOLS` | `btc,eth,sol,xrp` | 监控的币种,逗号分隔 |
| `ARBITRAGE_EXECUTION_SPREAD` | `0.01` | 执行阈值:`yes + no <= 1 - spread` 时下单 |
| `MAX_ORDER_SIZE_USDC` | `100.0` | 单笔最大下单量 |
| `RISK_MAX_EXPOSURE_USDC` | `1000.0` | 每轮最大风险敞口 |
| `MERGE_INTERVAL_MINUTES` | `0` | 定时 Merge 间隔(分钟),`0` 为关闭 |
| `WIND_DOWN_BEFORE_WINDOW_END_MINUTES` | `0` | 窗口结束前收尾(分钟),`0` 为关闭 |
| `RUST_LOG` | `info` | 日志级别 |
其余参数(CLOB 地址、签名类型、滑点、订单类型、持仓同步等)均有合理默认值,一般无需修改。完整列表与注释见 `.env.example`
## 免责声明
本软件仅供学习与研究,不构成任何投资建议。加密货币与预测市场存在较高风险,可能导致资金损失。使用前请自行评估风险,并遵守 Polymarket 服务条款及当地法律法规。