V2
Total Latency
116.9s
Total Cost
$0.038
Total Tokens
152.0k
Observations
23
Trace Input / Output
[
{
"type": "text",
"text": "那怎么做跟单,用程序实现"
}
]Scores
No scores recorded for this trace.
Message Context
User
那怎么做跟单,用程序实现
AI
# Polymarket 跟单交易程序实现指南 ## 核心原理 Polymarket 跟单交易的程序实现基于区块链透明性和智能合约交互。核心原理是:**通过监控目标钱包地址的 ERC1155 仓位变化(代理钱包),实时检测其交易行为,并使用 Polymarket 的 CLOB(中央限价订单簿)API 自动复制订单**。整个过程涉及数据收集、策略引擎、订单管理和风险控制四个模块。[GitHub Trust412](https://github.com/Trust412/polymarket-copy-trading-bot-version-3) **工作流程**: 1. **监控**:每 4 秒(可配置)扫描目标钱包的仓位变化(通过 Polygon RPC 或 WebSocket)。 2. **分析**:比较目标仓位与当前仓位,识别新交易(买入/卖出)。 3. **执行**:使用 CLOB 客户端自动下单,匹配目标仓位的比例和方向。 4. **风险管理**:应用仓位限制、黑名单和 gas 优化策略。 5. **自动赎回**:每 2 小时自动赎回已结算仓位。 所有数据来自 Polygon 区块链和 Polymarket API,无需特殊权限,但需要目标钱包地址和自有钱包的私钥。[Polymarket Docs](https://docs.polymarket.com/developers/CLOB/quickstart) ## 步骤指南 ### 前置要求 - **Node.js v16+** 或 Python 环境 - **MongoDB** 数据库(本地或云) - **Polygon RPC 端点**(Infura、Alchemy 等) - **交易钱包私钥**(MetaMask 或 Phantom) - **USDC 余额**在 Polygon 网络上 ### 安装和配置 1. **克隆仓库**: ```bash git clone https://github.com/Trust412/polymarket-copy-trading-bot-v3.git cd polymarket-copy-trading-bot-v3 npm install # 或 yarn install ``` 2. **环境配置**(创建 `.env` 文件): ```env # 目标配置 TARGET_USER_ADDRESS = '0xf5201...' # 要跟单的钱包地址 MY_PROXY_WALLET_ADDRESS = '0xf6d01...' # 你的代理钱包地址 PRIVATE_KEY = '0x35c57...' # 你的钱包私钥(保密!) # 智能合约地址(Polygon 主网) PROXY_WALLET_FACTORY_ADDRESS = '0x56C79347e95530c01A2FC76E732f9566dA16E113' USDC_CONTRACT_ADDRESS = '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174' # API 端点 CLOB_HTTP_URL = 'https://clob.polymarket.com/' CLOB_WS_URL = 'wss://ws-subscriptions-clob.polymarket.com/ws' # 风险配置 WAITING_TIME = 4 # 扫描间隔(秒) MAX_POSITION_LIMIT = 0.2 # 单仓位最大占比 20% BLACKLIST = 'token1,token2' # 不跟单的代币黑名单 # 基础设施 RPC_URL = 'https://polygon-mainnet.infura.io/v3/YOUR_PROJECT_ID' MONGO_URI = 'mongodb+srv://username:password@cluster.mongodb.net/database' ``` 3. **RPC 轮换配置**(避免限流): - 创建 `rpcUrls.json` 文件,包含多个 RPC URL。 - 示例:`["https://rpc1", "https://rpc2", ...]`(至少 5 个推荐)。 4. **运行 Bot**: ```bash npm start # 或 node index.js ``` ### 关键配置说明 | 变量 | 描述 | 示例 | 必填 | |------|------|------|------| | `TARGET_USER_ADDRESS` | 跟单目标钱包地址 | `0xf52015...` | ✅ | | `PRIVATE_KEY` | 你的钱包私钥 | `0x35c57d...` | ✅ | | `MAX_POSITION_LIMIT` | 单仓位最大资金占比 | `0.2`(20%)| ✅ | | `BLACKLIST` | 不跟单的代币列表 | `token_id1,token_id2` | ❌ | | `RPC_URL` | Polygon RPC 端点 | Infura/Alchemy URL | ✅ | [GitHub Trust412](https://github.com/Trust412/polymarket-copy-trading-bot-version-3) ## 代码示例 ### 核心监控逻辑(Node.js) ```javascript const { ClobClient, Side } = require("@polymarket/clob-client"); const { Wallet } = require("ethers"); // 初始化 CLOB 客户端 const client = new ClobClient( "https://clob.polymarket.com", 137, // Polygon chain ID new Wallet(process.env.PRIVATE_KEY), await client.createOrDeriveApiKey(), 0 // EOA 签名类型 ); // 监控目标钱包仓位 async function monitorTarget() { const targetPositions = await client.getPositions(process.env.TARGET_USER_ADDRESS); const myPositions = await client.getPositions(process.env.MY_PROXY_WALLET_ADDRESS); // 比较并执行跟单 for (const tokenId in targetPositions) { if (!myPositions[tokenId] || myPositions[tokenId].balance !== targetPositions[tokenId].balance) { await replicateTrade(tokenId, targetPositions[tokenId].balance); } } } // 复制交易 async function replicateTrade(tokenId, targetSize) { const myBalance = await getUSDCBalance(); const maxSize = myBalance * process.env.MAX_POSITION_LIMIT; const size = Math.min(targetSize, maxSize); // 下单(市价单示例) const order = await client.createAndPostOrder({ tokenID: tokenId, price: await getMarketPrice(tokenId), // 获取市场价 size: size, side: Side.BUY, // 或 SELL orderType: OrderType.FOK // Fill or Kill }); console.log(`Order placed: ${order.orderID}`); } // 每 4 秒执行一次 setInterval(monitorTarget, 4000); ``` [Polymarket CLOB Docs](https://docs.polymarket.com/developers/CLOB/quickstart) ### 风险管理示例 ```javascript // 检查黑名单 function isBlacklisted(tokenId) { const blacklist = process.env.BLACKLIST.split(','); return blacklist.includes(tokenId); } // 仓位大小控制 function validatePositionSize(size, myBalance) { const maxSize = myBalance * process.env.MAX_POSITION_LIMIT; if (size > maxSize) { console.warn(`Position size ${size} exceeds limit ${maxSize}, capping.`); return maxSize; } return size; } ``` [GitHub Trust412](https://github.com/Trust412/polymarket-copy-trading-bot-version-3) ## 最佳实践 ### 1. 目标钱包选择 - **筛选标准**:选择盈利稳定(P&L > $200K)、胜率 60-70%、交易量 $100K+、至少 50 个已结算仓位的钱包。[QuantVPS](https://www.quantvps.com/blog/polymarket-copy-trading-bot) - **分类专注**:避免跨类别跟单(如政治交易员跟体育市场),专注单一领域。 - **实时监控**:使用 WebSocket 替代轮询以减少延迟(<100ms)。 ### 2. 风险控制 - **仓位限制**:单仓位不超过总资金 20%(`MAX_POSITION_LIMIT = 0.2`)。 - **黑名单**:排除低流动性或高风险代币。 - **滑点控制**:使用限价单而非市价单,设置价格容忍度。 - **定期赎回**:自动赎回已结算仓位释放资金。 ### 3. 性能优化 - **RPC 轮换**:使用多个 RPC 端点避免限流(如 Infura、Alchemy、公共 RPC)。 - **Gas 优化**:设置 gas 价格上限(`GAS_PRICE_LIMIT = 110000000000`)。 - **批量操作**:使用 `postOrders()` 批量下单减少 API 调用。[Polymarket Trading Docs](https://docs.polymarket.com/developers/market-makers/trading) ### 4. 数据持久化 - **MongoDB 集成**:存储交易历史和仓位状态,便于审计和分析。 - **日志记录**:记录所有操作以便调试和性能分析。 ## 风险警示 1. **智能合约风险**:代理钱包和 CLOB 合约可能有未发现漏洞。仅使用官方合约地址。[Polymarket Proxy Docs](https://docs.polymarket.com/developers/proxy-wallet) 2. **市场风险**: - **滑点**:大订单可能影响价格,导致执行价差。 - **流动性风险**:低流动性市场难以平仓。 - **MEV(最大可提取价值)**:跟单行为可能被前端运行(front-running)。 3. **技术风险**: - **RPC 故障**:可能导致错过交易或重复下单。 - **私钥泄露**:私钥存储必须安全(使用环境变量或硬件钱包)。 4. **盈利性统计**:仅 12.7% 的 Polymarket 用户盈利,跟单需谨慎选择目标。[QuantVPS](https://www.quantvps.com/blog/polymarket-copy-trading-bot) ** mitigation 策略**: - 使用硬件钱包或多签管理资金。 - 设置每日亏损上限。 - 定期审查目标钱包表现(每周至少一次)。 ## 现成工具推荐 如果不想自建 bot,可使用社区开发的工具: 1. **Polycule** ([polycule.trade](https://www.polycule.trade/copy-trading)): - **功能**:自动跟单、灵活仓位管理(百分比/固定金额)、高级过滤(流动性、体积限制)。 - **优势**:非托管、Telegram 机器人集成、实时警报。 - **费用**:免费或增值服务。 2. **Olympus** ([X @olympusappX](https://x.com/olympusappX)): - **功能**:跟单精英钱包、自定义仓位比例、风险控制。 - **状态**:2025 年 10 月推出,支持 Web 和移动端。 3. **Stand.trade** ([Discord](https://discord.gg/xFkvMMG3tq)): - **功能**:鲸鱼警报、交易终端、Discord 通知。 - **用例**:监控多个钱包的协同动作(如关税市场)。[Polymarket News](https://news.polymarket.com/p/copytrade-wars) 4. **PolyFlashBot** 和 **Polycop**: - **功能**:Telegram 机器人、自动镜像成功交易者。 - **状态**:2026 年 1 月活跃,专注低延迟。[X @predictionindex](https://x.com/predictionindex/status/2016991760136773645) **选择建议**: - **自建 bot**:适合开发者,完全控制,成本低(仅 RPC 和服务器费用)。 - **现成工具**:适合非技术用户,快速启动,但可能受限于功能性和费用。 ## 结论 Polymarket 跟单交易的程序实现成熟且可行,核心是通过监控代理钱包的 ERC1155 仓位变化,使用 CLOB API 自动复制订单。自建 bot 需掌握 Node.js/Python、区块链交互和风险控制,但开源项目(如 Trust412 的 bot)提供了完整基础。 **关键成功因素**: - **目标选择**:跟单盈利稳定、专注领域的钱包。 - **风险控制**:严格仓位限制和黑名单。 - **基础设施**:可靠 RPC 和数据库。 **后续步骤**: 1. 从 [GitHub Trust412](https://github.com/Trust412/polymarket-copy-trading-bot-v3) 克隆代码。 2. 配置环境和目标钱包。 3. 用小资金测试,逐步优化参数。 4. 监控性能,定期调整策略。 截至 2026 年 2 月,所有工具和 API 均有效,但务必关注 Polymarket 官方更新和社区动态。
LLM-as-Judge Evaluation
Automated quality evaluation will appear here in a future update.