MetaMask Agent Wallet 透過 mm predict 指令集 在 Polymarket 預測市場進行交易。交易者可以用自然語言請求代理人查看賠率、設定下注金額,或領取並提領獲利,代理人會將請求路由至對應指令,完成資金存入專屬存款錢包、報價、下單、結算,以及提領收益等操作。
與 Agent Wallet 上的永續合約交易相同,但與代幣兌換不同的是,中間步驟發生在鏈下:下單與取消訂單是在 Polymarket 的中央限價訂單簿上鏈下執行,而資金存入存款錢包與領取已結算獲利,才是 MetaMask 評估的兩個真實交易環節。
這個區別在單一提示中很容易被忽略。「押 $20 賭聯準會降息」這句話隱含了許多未明說的假設,包括價格、訂單類型,以及該價格需要維持多穩定——這些假設在有操作介面的情況下會分別顯示為不同畫面,但一句話就把它們全部壓縮成一個請求。本文將詳細說明代理人執行前值得明確釐清的細節。
本文是交易機制指南,而非預測市場入門介紹。若想了解預測市場的概念及定價如何反映機率,請參閱什麼是 Polymarket。若想了解訂單簿、價差、流動性與結算機制,請參閱預測市場核心概念與預測市場定價原理。若想了解錢包類別本身,請參閱什麼是代理錢包與代理錢包的運作方式。若想了解不同資產類別中存款與訂單的區別,請參閱使用 MetaMask Agent Wallet 交易永續合約與兌換及跨鏈橋接代幣的相關說明。
有一點值得事先說明:mm predict 是 Agent Wallet CLI 自有的 Polymarket 整合功能,專為開發者與代理人設計,是獨立於MetaMask Predictions 的產品——後者是內建於 MetaMask Mobile 的消費者功能。兩者都在 Polymarket 上交易,但屬於不同介面,使用不同指令,本文僅涵蓋 CLI 部分。
預測市場介面詳解
以下是預測市場工作流程所使用的指令。了解這些介面,有助於更精準地表達請求,讓代理人按預期執行。
你對代理人的請求 | 執行的指令 | 功能說明 |
「幫我設定預測市場交易」 | mm predict setup --wait
| 一次性設定專屬預測存款錢包 |
「存 $50 到我的預測市場錢包」 | mm predict deposit --amount 50 --wait
| 將錢包中的 Polygon USDC.e 轉換為預測存款錢包中的 pUSD |
「尋找關於下次聯準會利率決策的市場」 | mm predict markets search ""
| 以關鍵字搜尋 Polymarket 市場 |
「在那個市場買 20 股 YES 要多少錢」 | mm predict quote --token-id --side buy --size 20
| 預覽訂單費用,不實際下單 |
「以 62 美分押 10 USDC 買 YES」 | mm predict place --token-id --side buy --size 10 --price 0.62
| 在 Polymarket 訂單簿上下一筆即時訂單 |
「顯示我目前的預測市場持倉」 | mm predict positions
| 列出目前持有部位 |
「領取我的獲利押注」 | mm predict redeem --all --wait
| 領取已結算的獲利部位 |
「將我的獲利轉回錢包」 | mm predict withdraw --amount
| 從預測存款錢包提領 pUSD |
資料來源:MetaMask Agent Wallet 指令參考文件。
有了這些基本認識,以下是使用 MetaMask Agent Wallet 交易預測市場的 9 個技巧。
1. 只需執行一次設定,然後為獨立於現貨餘額的錢包充值
預測市場交易透過專屬的預測存款錢包進行,而非你的主錢包餘額。首次使用流程為先執行 mm predict setup --wait,再執行 mm predict deposit --amount --wait,將錢包中持有的 Polygon USDC.e 轉換為存款錢包內的 pUSD。若在存款前跳過設定步驟,可能會出現 JsonRpcError: execution reverted 的錯誤,而非明確的錯誤代碼。
有兩種相關的失敗情況值得注意:PREDICT_INSUFFICIENT_GAS 表示錢包需要 Polygon 上的原生 POL 來支付存款交易的 Gas 費用;PREDICT_INSUFFICIENT_ALLOWANCE 表示需要先執行 mm predict approve 修復代幣授權額度,才能進行存款或下單。兩者都只需一個指令即可解決,但前提是正確識別問題所在。
地理封鎖最可能在這個階段出現,也就是在任何訂單下達之前——如果帳戶所在地區受到限制,通常會在 setup 或 deposit 步驟顯示失敗,而非在下單步驟。建議在充值前執行 mm predict geoblock 進行檢查,而非事後才查(詳見技巧 6)。此外,不要將 null 結果視為通過:地理封鎖檢查對受限帳戶可能回傳 null,而代理人目前無法可靠地區分這與明確通過的差異,儘管兩者在操作上意義相同。在獲得確認之前,請將不明確的結果視同封鎖處理。
2. 了解訂單(而非存款或領取)才是不在 Guard Mode 監控範圍內的操作
這與 Agent Wallet 上的永續合約交易模式相同,而非代幣兌換的模式——但對於預測市場而言,鏈下操作發生在中間步驟,而非只在某一端。MetaMask 的資金流出政策將「存款(例如存入 Uniswap、Polymarket 或 Hyperliquid)」列為計入滾動 24 小時流出限額的項目——Polymarket 與 Hyperliquid 一樣被明確點名。這意味著存入預測存款錢包的資金交易,才是 Guard Mode 的流出限額、白名單與雙重驗證所評估的對象。mm predict place 與 mm predict cancel 是對 Polymarket 訂單簿的同步呼叫,而非 EVM 交易——因此無論金額大小,都不受這些防護機制的檢查。
領取操作值得單獨說明:mm predict redeem 的文件記載使用 --wait 參數,與 mm predict setup 和 mm predict deposit 採用相同的基於任務的模式,架構頁面將此描述為需要經過模擬、威脅掃描與政策評估的簽名或交易請求的特徵。這強烈表明領取已結算部位是真實的鏈上交易,而非像下單或取消訂單那樣的鏈下訂單簿操作——因此請以與存款相同的謹慎態度對待領取步驟,而非像對待訂單一樣。
威脅掃描是唯一不像流出限額那樣按環節區分的防護機制:根據交易模式比較,它同時適用於 Guard Mode 和 Beast Mode——只有流出限額和白名單是 Guard Mode 專屬的。這適用於伺服器錢包模式;交易模式不適用於自帶錢包的設定。實際意義在於:交易者在下單時無需考慮流出限額,但為存款錢包充值以及後續領取獲利,才是需要保持謹慎的兩個時機。
3. --limit-price 用於預覽,--price 用於下單——兩者不可互換
mm predict quote 接受可選的 --limit-price 參數,用於預覽特定價格下的費用。mm predict place 完全不接受該參數;它需要 --price,即交易者願意接受的每股最差成交價格,以 0 到 1 的比例表示。兩者看起來相似,都會影響費用,但一個是僅供預覽的輸入,另一個是即時訂單的執行邊界——直接將報價的參數複製到下單指令中會導致失敗,而非靜默地執行相同操作。
4. 僅在預設值不適用時才覆蓋最小報價單位
mm predict quote 和 mm predict place 都接受 --tick-size 參數來覆蓋市場的預設價格增量。有效值為 0.1、0.01、0.005、0.0025、0.001 和 0.0001;省略此參數則預設使用該代幣的 CLOB 本身的最小報價單位。傳入不在此列表中的值會回傳 INVALID_TICK_SIZE。對大多數市場而言,預設值是正確的選擇——此參數的存在是為了應對交易者需要比市場預設更精細或更粗略的價格粒度的情況。
5. 根據成交的緊迫程度選擇訂單類型
mm predict place 預設為 GTC(有效直到取消),訂單會留在訂單簿上直到成交或取消。GTD(有效直到指定日期)需要提供 --expiration 時間戳。FOK(立即全部成交或取消)和 FAK(立即成交剩餘取消)都要求立即成交——FOK 是全部成交或全部取消,FAK 是立即成交的部分成交,其餘取消——兩者都不能與 --post-only 組合使用,後者會拒絕任何會與訂單簿交叉的訂單。
無法以請求價格完全成交的 FOK 訂單會回傳 PREDICT_ORDER_NOT_FILLED,並提示調整 --size 或 --price、查看訂單簿,或改用 GTC。「只有能立即全部成交才買」這樣的請求對應的是 FOK;「以這個價格或更好的價格慢慢建倉」對應的是 GTC,混淆兩者只會得到被拒絕的訂單,而非交易者實際想要的耐心等待。
6. 在確定下注金額前先檢查流動性和地理封鎖,而非事後才查
mm predict book 回傳某個代幣的訂單簿,這是在下單前確認特定規模是否可行的方式——當請求低於交易所最低限額時,會觸發 PREDICT_ORDER_SIZE_TOO_SMALL,其提示指向提高 --size。
另外,mm predict geoblock 在任何資金移動前,根據帳戶的 IP 檢查 Polymarket 的地理封鎖狀態。有兩個錯誤代碼反映了這種在 Polymarket 層面(而非錢包層面)執行的限制:PREDICT_GEOBLOCKED 表示根據地理封鎖 API,該地區被封鎖;PREDICT_UNAVAILABLE_FOR_LEGAL_REASONS 表示 Polymarket 回傳了 HTTP 451 法律限制。這兩者都不是 MetaMask 的政策決定,也不會因 Guard Mode 與 Beast Mode 的切換而改變——這是 Polymarket 自身的地區可用性限制,透過 CLI 呈現。
7. 沒有試運行功能——報價是最接近的預覽方式
與 mm perps open 不同,後者接受 --dry-run 參數來驗證訂單而不進行簽名,mm predict place 在指令參考文件中沒有等效的參數。最接近預演訂單的方式是 mm predict quote,它可以在不觸及訂單簿的情況下預覽特定價格和規模下的費用。這是對定價的真實預覽,而非對訂單是否會成交的模擬——報價看起來正確,但在實際執行 place 指令前,市場仍可能發生變動。
8. 領取是獨立的明確步驟——也是工作流程中第二個真實交易
已結算的獲利部位不會一步轉換為可用餘額。mm predict redeem list 顯示目前可領取的已結算部位,mm predict redeem --wait 或 mm predict redeem --all --wait 可領取單個或全部——但這只是將獲利移入預測存款錢包中的 pUSD,而非返回交易者的主錢包。PREDICT_REDEEM_NONE 和 PREDICT_REDEEM_NOT_FOUND 是這裡值得注意的兩個錯誤代碼:前者表示目前沒有可領取的部位,後者表示傳入的特定條件 ID 不是有效的領取目標——通常應再次查看 redeem list,而非重試相同的 ID。
將 pUSD 提領至可用餘額是進一步的獨立步驟:mm predict withdraw --amount 。在領取後跳過此步驟,是一種常見的誤解,讓人以為押注已「提現」,但獲利實際上仍留在預測錢包中。PREDICT_WITHDRAW_ZERO 在金額為零或缺失時觸發,PREDICT_WITHDRAW_INSUFFICIENT_BALANCE 在預測錢包中的 pUSD 不足以支付請求的提領金額時觸發。
領取操作與存款一樣,表現為真實交易而非鏈下訂單簿操作——其文件記載使用與 mm predict setup 和 mm predict deposit 相同的 --wait 任務模式,而 mm predict place 或 mm predict cancel 則從不使用此模式。請以技巧 2 中描述的相同謹慎態度對待領取步驟。
9. 針對不同用途使用歷史記錄和持倉查詢,並將排序欄位與查詢類型匹配
mm predict positions 顯示目前持有的部位。mm predict history 是獨立的已結算記錄視圖:預設顯示已結算部位及其帶符號的 pnl,切換至 --type trade 或 --type redeem 則分別顯示成交或領取活動。--start 和 --end 只在 --type 為 trade 或 redeem 時才有過濾效果——對預設的已結算視圖靜默無效。排序欄位也因類型而異:已結算部位按 realizedpnl、title、price、avgprice 或 timestamp 排序,而交易和領取活動則按 timestamp、tokens 或 cash 排序。傳入錯誤列表的排序欄位會回傳 PREDICT_HISTORY_INVALID_SORT_BY——「按規模排序我的最大獲利」這樣的請求需要明確指定使用哪一組詞彙。
Agent Wallet 在預測市場方面的限制
明確說明邊界,比暗示更廣泛的功能更有實際價值。
mm predict 不是 MetaMask Mobile 上的消費者 Predictions 功能——它是專為開發者和代理人設計的獨立 CLI 驅動 Polymarket 整合,擁有自己的指令和專屬存款錢包。從 Mobile 應用程式轉來的交易者不應期望兩者共享餘額、歷史記錄或設定。
Agent Wallet 不會繞過或覆蓋 Polymarket 的地區限制。地理封鎖和法律可用性檢查在 Polymarket 層面執行,無論錢包模式、交易模式或請求的表達方式如何,都以相同方式適用。
獲利不會在結算時自動領取。已結算的獲利部位會保持可領取狀態,直到執行 mm predict redeem——沒有後台程序會代表交易者自動領取。
mm predict 上沒有內建的跟單交易、投資組合鏡像或自訂訂單邏輯——每個指令呼叫都是單一的明確操作。想要此類持續邏輯的交易者可以將其構建為插件,這是一個測試版功能,允許已安裝的 npm 套件在經過授權的能力下向 CLI 添加新指令,但這是需要自行開發的路徑,而非 Agent Wallet 內建提供的功能。
不。兩者都在 Polymarket 上交易,但它們是獨立的產品。MetaMask Predictions 是內建於 MetaMask Mobile 的消費者功能;mm predict 則是 Agent Wallet CLI 專為開發者和代理程式設計的指令集,擁有獨立的存款錢包,與 Mobile 功能不共享餘額或歷史記錄。
不。在預測市場下單和取消訂單都是在鏈下針對 Polymarket 的訂單簿進行的,因此不會受到 Guard Mode 的流出限額、許可名單或雙重驗證的檢查。為存款錢包充值才是 EVM 交易,也是這些防護機制所評估的對象——這與永續合約的模式相同,但與 swap 相反,因為 swap 是由交易本身作為受檢交易。贖回已結算的部位的行為更像是第二筆真實交易,而非訂單簿操作(其文件記錄採用與存款相同的 --wait 任務模式),因此同樣值得謹慎對待,即便它本身並不受流出限額的約束——流出限額追蹤的是離開錢包的資產價值,而非進入的獲利。
--limit-price 是 mm predict quote 上的僅供預覽旗標。mm predict place 完全不接受它;它需要的是 --price,即訂單可接受的每股最差成交價格。儘管兩者都會影響交易成本,但它們並非可互換的旗標。
GTC(預設值)會掛在訂單簿上直到成交或取消,適合願意等待特定價格的交易者。GTD 則額外設定到期時間。FOK 和 FAK 都要求立即成交,適合只想在當下立刻完成交易的交易者。--post-only 會拒絕任何會與訂單簿對沖的訂單,且無法與 FOK 或 FAK 同時使用。
在注資之前,執行 mm predict geoblock 以根據 Polymarket 自身的地理封鎖狀態檢查帳戶的 IP。PREDICT_GEOBLOCKED 和 PREDICT_UNAVAILABLE_FOR_LEGAL_REASONS 均反映在 Polymarket 層級執行的限制,而非 MetaMask 錢包設定。
不,而且兌換也不是最後一個步驟。已解決的獲勝部位會變成可兌換狀態,但不會自動領取——執行 mm predict redeem list 查看目前可兌換的項目,再執行 mm predict redeem <CONDITION_ID> --wait 或 --all --wait 來領取。這會將部位轉換為 predict 存款錢包中的 pUSD,而非交易者主錢包中可使用的餘額。若要將資金轉至主錢包,還需要進一步執行 mm predict withdraw --amount 指令。
更像是存款。mm predict withdraw 採用與 mm predict setup、mm predict deposit 和 mm predict redeem 相同的基於任務的模式——不同於 mm predict place 和 mm predict cancel,後兩者是針對 Polymarket 訂單簿的同步呼叫。PREDICT_WITHDRAW_ZERO 和 PREDICT_WITHDRAW_INSUFFICIENT_BALANCE 是其兩個專屬錯誤代碼。
不能直接做到。mm predict place 沒有等同於 --dry-run 的功能。mm predict quote 是最接近的預覽方式——它會根據指定的數量和價格對訂單進行報價,而不會影響訂單簿,但它並不會模擬訂單是否真的會成交。