列出 OKX Agentic Wallet 專屬交易競賽,為用戶報名參賽,追蹤參與狀況與排行榜排名,並領取獲獎獎勵。當用戶想列出可參加的交易競賽或交易盃、查看競賽規則/獎金池/總獎勵、報名或註冊或加入競賽、查看排行榜(誰在領先)或自己的排名(是否在獎勵區、名次為何)、詢問是否獲獎或查詢參與/領獎狀態、領取已完成競賽的獎勵或獎品、查看註冊時使用的錢包帳戶,或提交 Telegram/WeChat/Email/Twitter 聯絡方式以便頂級獲獎者領取獎品時使用。
OKX Growth Competition — 交易競賽
Agentic Wallet 專屬交易競賽。完整生命週期分散於以下參考文件:
- 參與(探索/報名/交易/已註冊錢包/匯出保護)—
references/participation.md - 詳細資訊(規則/獎金池/四個獎勵區塊)—
references/details.md - 排名(排行榜/個人排名,含 CASE 1/2/3 範本)—
references/rank.md - 領獎(獎勵狀態查詢/原子領獎/聯絡方式收集)—
references/claim.md - CLI 參考(指令、參數、回傳結構)—
references/cli-reference.md
本 SKILL.md 包含全域規則(事實、身分不變性、路由、輸出規則、時間格式、狀態碼、錯誤處理),所有參考文件皆依賴於此。請務必先閱讀此檔案,再根據用戶意圖跳至對應的參考文件。
關於每個 Agentic Wallet 競賽的事實
當用戶詢問競賽運作方式時,請將以下內容視為事實性基準。兩個與鏈相關的欄位扮演不同且不重疊的角色 — 切勿混淆:
chainId— 單一 ID。僅為領獎/獎勵鏈(獎勵在此鏈上發放;其合約地址位於此鏈)。除非它也出現在participateChainIds中,否則不是交易鏈。participateChainIds— 由list和detail端點回傳的 ID 陣列。交易鏈集合。在此陣列中任何鏈上的交易都計入同一競賽成績。
交易鏈集合 = participateChainIds。領獎鏈 = chainId。 這是兩個不同的概念;下方的顯示規則絕不將它們合併。
- 鏈 ID → 顯示名稱對應。目前支援的競賽鏈:
1 → Ethereum、196 → X Layer、501 → Solana。 - 切勿在未先檢查
participateChainIds的情況下告訴用戶「你的鏈不計入」。 myRankInfo.userTotal = 0表示用戶尚未達到合格門檻,或後端指標管線尚未擷取到他們的交易 — 這不表示用戶的鏈不受支援。competition_rank接受一個可選的wallet。查詢自己的排名時省略 — 工具會發送你的accountId(一次呼叫涵蓋participateChainIds中的所有鏈;無需選擇鏈)。僅在查詢他人排名時傳入明確地址;該地址的鏈家族(EVM0x...否則 Solana)必須與活動的主要鏈相符,否則工具會拒絕呼叫(不會進行無聲的錯誤鏈查詢)。
身分解決不變性
competition_rank 和 competition_user_status 的查詢身分是互斥的:後端接受 EITHER accountId(自己)OR walletAddress(跨用戶)— 絕不同時使用。對於「你使用了哪個身分?」的答案,可從呼叫形式確定。
| 呼叫形式 | 發送的身分 |
|---|---|
competition_user_status(任何) |
accountId — 一次呼叫涵蓋 participateChainIds 中的所有鏈 |
不帶 wallet 的 competition_rank |
accountId |
帶 wallet=<addr> 的 competition_rank |
walletAddress — 工具驗證地址的鏈家族(EVM 0x... 否則 Solana)是否與活動的 chainId 相符;不符則拒絕 |
competition_claim(預先檢查) |
accountId |
對於多活動的 competition_user_status(無 activity_name),同一個 accountId 會跨所有活動重複使用 — 後端透過 accountId 進行關聯。
強制閱讀順序
在產生任何面向用戶的競賽訊息之前,你必須先在下方正確的參考檔案中找到對應區塊,並遵循其固定的範本結構。 請勿即興發揮格式。請勿縮短範本。請勿刪除區塊或合併它們。範本是產品強制的文案(參與/技能品質用語、免責聲明),不得改寫。
範本結構固定;語言跟隨用戶 — 請參閱下方的 ## Output Language 規則。當用戶使用中文時,將範本字串翻譯成自然的中文。當用戶使用英文時,使用原文。佔位符(包括來自 {supportedChains} 的鏈顯示名稱)保持不變。
快速路由(用戶意圖 → 參考檔案 + 區塊):
| 用戶意圖 | 參考檔案 | 區塊 |
|---|---|---|
| 「列出競賽/顯示可參加的競賽」 | references/participation.md |
步驟 1 — 探索 |
| 「顯示詳細資訊/顯示規則/顯示獎金池」 | references/details.md |
步驟 2 — 檢視詳細資訊 |
| 「報名/加入」 | references/participation.md |
步驟 3 — 加入 |
| 「幫我交易」 | references/participation.md |
步驟 4 — 交易(委派給 okx-agentic-wallet) |
| 「排行榜/完整排名/誰在領先」 | references/rank.md |
查看排行榜(完整排名) |
| 「我的排名/我排第幾/我在獎勵區嗎」 | references/rank.md |
查看用戶自己的排名(跨所有排行榜) |
| 「顯示已註冊的錢包」 | references/participation.md |
查詢已註冊錢包 |
| 「匯出錢包」 | references/participation.md |
錢包匯出保護 |
| 「查看我的狀態/我贏了嗎」 | references/claim.md |
檢查參與狀態 |
| 「領取獎勵/領取我的獎品」 | references/claim.md |
步驟 6 — 領取獎勵 |
頂級獲獎者聯絡後續(領獎後 needContact: true) |
references/claim.md |
聯絡方式收集(僅限頂級獲獎者) |
如果用戶意圖未明確對應至上述任一項,請在回覆前詢問他們指的是哪一項 — 請勿**發明自由格式。
預先檢查
閱讀
../okx-agentic-wallet/_shared/preflight.md。若找不到,請閱讀_shared/preflight.md。
常見錯誤的跨技能路由:
not logged in→ 引導用戶完成okx-agentic-wallet登入流程(電子郵件 → OTP),然後重試原始操作。- 後端狀態碼(
--status篩選器 /status/joinStatus/rewardStatus)和錯誤碼訊息(11002/11003/11008/1860402/address limit reached/Sui-chain/ 地區封鎖 /not eligible):請參閱references/cli-reference.md。
指令索引
所有 MCP 工具皆鏡像 CLI;MCP 變體接受 activity_name(伺服器解析 ID)並自動從活躍工作階段解析 accountId / 錢包地址。完整的旗標表和回傳結構:references/cli-reference.md。
| # | 指令 | 認證 | 說明 |
|---|---|---|---|
| 1 | onchainos competition list [--status 0|1|2] [--page-size N] [--page-num N] |
無 | 列出競賽(預設 status=0,僅進行中) |
| 2 | onchainos competition detail --activity-id <id> |
無 | 規則、獎金池、鏈、時間軸 |
| 3 | onchainos competition rank --activity-id <id> [--wallet <addr>] --sort-type <type> [--limit N] |
無 | 排行榜 + 用戶排名。請參閱 references/rank.md 了解自己/跨用戶語意及 sort-type 探索。 |
| 4 | onchainos competition user-status [--activity-id <id>] |
錢包登入 | 參與與獎勵狀態(省略 --activity-id 則查詢所有活動) |
| 5 | onchainos competition join --activity-id <id> --evm-wallet <addr> --sol-wallet <addr> --chain-index <chain_id> |
錢包登入 | 為活躍帳戶報名競賽 |
| 6 | onchainos competition claim --activity-id <id> --evm-wallet <addr> --sol-wallet <addr> |
錢包登入 | 原子領獎 — 在呼叫內簽署並廣播。請參閱 references/claim.md。 |
| 7 | onchainos competition submit-contact --activity-id <id> --contact-type <Telegram|WeChat|Email|Twitter> --contact-value <text> |
錢包登入 | 為頂級獲獎者記錄聯絡方式;僅在 needContact: true 的領獎之後。請參閱 references/claim.md。 |
--status(請求篩選器):0=進行中,1=已結束,2=全部
activityStatus(回應欄位):3=進行中,4=已結束 — 與請求篩選器不同
輸出規則
僅供內部使用的 ID 與面向用戶的顯示。 內部數值 ID(
activityId、chainIndex、accountId)刻意在工具回應中回傳 — 它們是工具間串聯呼叫所必需的(例如在competition_join之後,你可能需要呼叫competition_detail並傳入活動 ID 以填入成功範本)。將它們保留在資料層;切勿在使用者可見的訊息中呈現。
在任何情況下,以任何格式,都不得在提供給用戶的訊息中包含任何內部 ID。 僅透過 activityName(若名稱不可用則使用 shortName)向用戶識別活動。
禁止的使用者可見模式(請勿產生類似以下的輸出):
Agentic Trading Contest (#107)#106 (agenticwallettest1)- 任何暴露活動 ID 的欄位、行或內聯參考(例如
competition 107、ID欄位、標示為Activity ID的行)— 無論標籤、形狀或語言,規則相同。
正確的使用者可見模式:
Agentic Trading Contest- 當需要區分兩個同名活動時,附加
chainName(例如Agentic Trading Contest (Solana)),切勿使用 ID。
幕後(允許且預期):
- 從
competition_user_status/competition_join回應中讀取activityId,並將其傳遞給competition_detail以取得固定範本所需的資料。 - 任何透過數值 ID 進行的工具間串聯 — 只要最終面向用戶的訊息省略它們即可。
當用戶要求對特定活動採取行動時(例如「領取 Agentic Trading Contest」),MCP 工具 competition_claim / competition_join 接受 activity_name 並在伺服器端解析 ID,因此你也可以直接使用名稱,無需自行查詢。
輸出語言
以用戶的對話語言呈現每個固定範本。 範本結構(區塊、順序、編號項目、表格欄數、佔位符位置、{supportedChains} 佔位符以及 [Disclaimer: ...] 區塊)是固定的,不得更改。僅將內部的自然語言文字自然地翻譯成用戶的語言。
佔位符永不翻譯。 {supportedChains}、{chainName}、{rewardUnit}、{txHash}、{accountName} 等將以 API 值原樣填入 — 請勿本地化。鏈顯示名稱(例如 Solana、X Layer、Base)來自標準 ID → 名稱對應,並在所有語言中保持不變。
發送前檢查清單
發送前的最終檢查 — 涵蓋參考檔案中容易在長回覆後遺漏的 MUST 事項。(前面區塊已涵蓋的規則 — 內部 ID、participateChainIds、*Formatted、語言/範本忠實度 — 此處不重複;請透過遵循其原始區塊的規則來驗證。)
- [ ] 成功報名回應後 → 在結尾獨立一行顯示
[Disclaimer: Digital asset trading involves risk. ...]行。(→participation.md→ 成功報名) - [ ] 領獎執行時失敗(簽署/廣播/網路) → 附加 3 點失敗建議區塊。預先檢查拒絕(rewardStatus 0/2/3/4、代碼 11002、代碼 11008) → 省略建議區塊。(→
claim.md→ 固定失敗建議區塊) - [ ] 呼叫
competition_claim之前 → 已顯示領獎前預覽行(You are about to claim {rewardAmount} {rewardUnit} on {chainName}. Reply "confirm" to proceed.)且用戶已回覆明確確認。(→claim.md→ 領獎前預覽)






