Polymarket 跟單機器人 建構指南
Python / TypeScript
Polygon 鏈
CLOB V2 API
USDC 結算
非托管
什麼是跟單機器人?
Polymarket 跟單機器人(Copy Trading Bot)會即時監控您指定的目標錢包,並在偵測到新交易時,自動在您自己的錢包按比例鏡像下單。
監控目標錢包
持續掃描鏈上活動,偵測「聰明錢」地址的開倉、加倉、減倉與平倉行為。
比例計算倉位
根據您設定的資金比例或固定風險參數,計算對應的下單規模,而非盲目複製原始金額。
即時執行交易
透過 CLOB API 自動簽署 EIP-712 訂單並送出,盡可能降低滑點與延遲。
持倉同步管理
持續追蹤目標的倉位變化,持續同步您的部位以保持一致,並套用停損/停利邏輯。
系統架構總覽
一套生產級跟單機器人由五大核心模組組成,各模組分工明確、可獨立測試與替換。
目標偵測
Monitor
比例計算
Sizer
風控檢查
Risk Mgr
鏈上下單
Executor
| 模組 | 主要職責 | 技術方式 | 建議語言 |
|---|---|---|---|
| Monitor(監控) | 偵測目標錢包的新交易 | Data API 輪詢 + WebSocket | TypeScript |
| Sizer(計算倉位) | 換算比例下單金額 | 投資組合比例或固定風險 | Python |
| Risk Manager(風控) | 執行前安全檢查 | 上限規則、黑名單市場 | 任意 |
| Executor(執行) | 簽署並送出訂單 | CLOB SDK + EIP-712 | TypeScript |
| Logger(記錄) | 持倉追蹤與績效分析 | MongoDB / PostgreSQL | 任意 |
Polymarket API 完整指南
Polymarket 提供三個不同層次的 API,機器人會同時使用全部三個。
| API | Base URL | 認證 | 主要用途 |
|---|---|---|---|
| Gamma API | gamma-api.polymarket.com | 免認證 | 市場列表、事件、搜尋、交易者公開資料 |
| Data API | data-api.polymarket.com | 免認證 | 錢包活動歷史(跟單偵測核心) |
| CLOB API | clob.polymarket.com | 需 L1/L2 認證 | 掛單、撤單、查詢持倉、訂單簿 |
Python · L2 認證標頭範例
# 必要的 HTTP 標頭(下單時)
headers = {
"POLY_ADDRESS": wallet_address,
"POLY_SIGNATURE": hmac_sha256_signature,
"POLY_TIMESTAMP": str(int(time.time())),
"POLY_API_KEY": api_key,
"POLY_PASSPHRASE": api_passphrase,
}跟單核心 API 端點
| 端點 | 用途 | 輪詢頻率建議 |
|---|---|---|
GET /activity?user=0x... | 取得目標錢包的交易歷史(偵測新單) | 每 2 秒(REST),或改用 WebSocket |
GET /book?token_id=... | 取得特定市場訂單簿 | 下單前即時查詢 |
POST /order | 送出新訂單(需 L2 + EIP-712) | 觸發型 |
DELETE /order/{id} | 撤銷特定訂單 | 觸發型 |
GET /positions | 查詢目前持倉 | 啟動時 + 定期同步 |
WebSocket 訂閱(推薦)
JavaScript · 訂閱市場頻道
const ws = new WebSocket('wss://ws-subscriptions-clob.polymarket.com/ws/market');
ws.onopen = () => {
ws.send(JSON.stringify({
type: "market",
assets_ids: [tokenId_1, tokenId_2] // 訂閱多個市場
}));
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
// data.event_type === "trade" 時觸發跟單邏輯
if (data.event_type === "trade") {
handleNewTrade(data);
}
};分步驟實作
從環境設定到第一筆跟單成功,完整的建構流程。
1. 環境準備與錢包設定
建立一個專用的 EOA 錢包(不要用主錢包),在 Polygon 主網充值 USDC(用於交易)與 POL(用於 gas)。錢包地址即為機器人的 funder address。新用戶使用 signatureType=3(deposit wallet),現有 Proxy/Safe 用戶可維持原有類型。
2. 安裝 CLOB SDK
官方提供 TypeScript、Python、Go 三版 SDK(已支援 CLOB V2)。強烈建議使用 SDK 而非自行處理 EIP-712 簽名,可避免大量繁瑣的加密操作。
Shell · 安裝指令
# TypeScript(推薦)
npm install @polymarket/clob-client ethers@5
# Python
pip install py-clob-client3. 初始化 CLOB 客戶端並衍生 API 金鑰
第一次執行時,SDK 會用私鑰衍生(或建立)L2 API 憑證(key, secret, passphrase),後續所有交易請求都用這組憑證的 HMAC 簽名認證。
TypeScript · 客戶端初始化
import { ClobClient } from "@polymarket/clob-client";
import { ethers } from "ethers";
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!);
const client = new ClobClient(
"https://clob.polymarket.com",
137, // Polygon Mainnet chainId
wallet,
undefined,
0, // signatureType: 0=EOA, 1=Proxy, 2=Safe, 3=Deposit
funderAddress
);
// 衍生或建立 L2 API 憑證
let creds = await client.deriveApiKey().catch(() => null);
if (!creds) creds = await client.createApiKey();4. 監控目標錢包活動
透過 Data API 輪詢或 WebSocket 偵測目標錢包的新交易。建議同時採用:WebSocket 提供最低延遲(毫秒級),REST 輪詢作為備援以確保不漏單。
Python · REST 輪詢偵測新單
import requests, time
TARGET = "0xTARGET_WALLET"
last_seen = int(time.time()) - 60
while True:
resp = requests.get(
"https://data-api.polymarket.com/activity",
params={"user": TARGET, "type": "TRADE",
"limit": 50, "start": last_seen}
)
trades = resp.json()
for t in trades:
handle_new_trade(t)
last_seen = int(time.time())
time.sleep(2) # 每 2 秒輪詢一次5. 計算比例倉位並送出訂單
偵測到目標交易後,根據您的資金規模換算下單金額,查詢即時訂單簿確認流動性,再送出 FOK(Fill or Kill)或 GTC 訂單。
TypeScript · 下單核心邏輯
async function executeCopyTrade(trade: Trade) {
// 1. 計算比例金額(POSITION_MULTIPLIER = 0.1 代表跟 10%)
const copySize = trade.size * POSITION_MULTIPLIER;
if (copySize < MIN_TRADE_SIZE || copySize > MAX_TRADE_SIZE) return;
// 2. 風控檢查
const check = riskManager.checkTrade(trade, copySize);
if (!check.allowed) { console.warn(check.reason); return; }
// 3. 取得當前市場價格
const { price } = await clobClient.getPrice(trade.tokenId, "buy");
const priceWithSlippage = price * (1 + SLIPPAGE_TOLERANCE);
// 4. 建立並簽署訂單
const order = await clobClient.createOrder({
tokenID: trade.tokenId,
price: priceWithSlippage,
side: "BUY",
size: copySize / priceWithSlippage, // 換算股數
});
// 5. 送出訂單(FOK 模式)
return await clobClient.postOrder(order, OrderType.FOK);
}6. 部署到低延遲 VPS(24/7 運行)
本地電腦運行不可靠且延遲高。推薦部署到靠近 Polymarket API 伺服器的 VPS(愛爾蘭 Dublin 或美國東岸),可實現 0.4–0.8ms 延遲。使用 PM2 或 systemd 確保機器人持續運行並自動重啟。
Shell · PM2 部署指令
# 使用 PM2 持久化運行(Node.js)
npm install -g pm2
pm2 start dist/index.js --name polymarket-bot
pm2 save
pm2 startup # 設定開機自動啟動
# 查看日誌
pm2 logs polymarket-bot --lines 100風險控管
自動化交易會放大錯誤,完善的風控機制是保本的關鍵。
高風險
私鑰洩漏
永遠不要把私鑰寫入程式碼或提交到 Git。使用 .env 環境變數,並為機器人建立專用錢包,與主錢包完全隔離。
高風險
策略漂移
您跟隨的交易者可能改變策略、提高風險偏好或停止交易。需定期重新評估目標錢包的績效,設定自動停止跟隨條件。
中風險
市場流動性不足
小市場可能因跟單下單導致嚴重滑點。下單前查詢訂單簿深度,設定最大可接受滑點(建議 ≤2%)。
中風險
智能合約風險
Polymarket 雖已經過審計,CLOB V2 仍是相對新的基礎設施。只存入可以承受全損的資金。
低風險
API 限流
REST 輪詢過於頻繁會觸發限流。建議 REST 間隔 ≥2 秒,並實作指數退避重試機制(502/503/504)。
低風險
程式碼錯誤
務必在測試環境與小額資金下充分驗證。自動化會將程式錯誤的後果放大數十倍,上線前需完整審計。
2026 生態工具推薦
善用現有工具,可大幅縮短開發時間並提升跟單品質。
| 工具 | 類型 | 功能亮點 | 適合對象 |
|---|---|---|---|
| Stand.trade | 鯨魚監控 | 追蹤聰明錢地址、即時推播加減倉通知 | 選擇跟單目標 |
| Betmoar | 資訊整合 | 全市場儀表板、Telegram/Discord 下單、即時新聞 | 重度交易者 |
| Polytrader | AI 自動化 | LLM 運算合理機率、AI Agent 自主執行策略 | AI 輔助交易 |
| OpenClaw | 無代碼 | 免寫程式建立跟單機器人、視覺化儀表板 | 非技術背景用戶 |
| QuickNode | RPC 節點 | Polygon 高速 RPC 端點(含 HTTP + WSS) | 開發者基礎設施 |
| GitHub 開源 Bot | 開源框架 | 可審計程式碼、Supabase + Python 實作 | 開發者自建 |
2026 最佳實踐清單
上線前請逐項確認,每一項都是血淚經驗的總結。
🔐 安全性
- 未完成:
專用錢包:為機器人建立獨立的 EOA 錢包,絕不使用主錢包
- 未完成:
環境變數:私鑰與 API 憑證只存在
.env或 Vault,不進入版本控制 - 未完成:
最小授權:L2 API Key 只授予必要的交易權限,定期輪換
- 未完成:
程式碼審計:使用開源框架前審閱所有依賴套件的安全性
📡 技術基礎設施
- 未完成:
CLOB V2 SDK:確認使用最新版 SDK,2026/4 升級後舊版訂單結構已失效
- 未完成:
低延遲 VPS:部署到都柏林(Dublin)或美東 VPS,確保對 Polymarket API 延遲 <1ms
- 未完成:
WebSocket + REST 雙軌:WebSocket 為主要訂閱,REST 輪詢作為備援,避免漏單
- 未完成:
自動重試:實作指數退避重試(502/503/504/限流),不可重試的錯誤(401/403/重複)直接放棄
- 未完成:
RPC 端點輪換:使用多個備援 Polygon RPC,避免單點故障
📊 策略與風控
- 未完成:
小額測試先行:MAX_TRADE_SIZE 從 $5–10 開始,確認行為正確後再調高
- 未完成:
設定硬性上限:每日總曝險、單市場最高倉位、單筆最大下單金額三重保護
- 未完成:
滑點管理:下單前查詢訂單簿,FOK 模式配合 2% 滑點容忍度
- 未完成:
定期評估目標錢包:每週回顧跟單對象績效,及時更換表現退化的地址
- 未完成:
回測驗證:利用 CLOB API 的歷史價格資料,在上線前進行策略回測
📝 監控與記錄
- 未完成:
持久化日誌:所有成交記錄存入資料庫(MongoDB / PostgreSQL),定期備份
- 未完成:
即時警報:異常狀況(API 錯誤率飆升、餘額不足、連線中斷)透過 Telegram 或 Discord 通知
- 未完成:
績效追蹤:追蹤 PnL、勝率、平均滑點、每日成交量等關鍵指標
Polymarket 跟單機器人完全指南 · 2026 版 · 資料來源:Polymarket 官方文件、QuickNode、TradingVPS
本文件僅供技術參考,不構成投資建議