okx-growth-competition

作成者: okx

We need to translate the given English text into Japanese, preserving the name "okx-growth-competition" but only if it appears in the source text. The source text does not contain that name; it only appears in the instruction as the directory item name. So we do not include it. The translation should be of the text inside <text>. We must not add any extra commentary, labels, etc. Just the translation. The text describes a skill: listing OKX Agentic Wallet exclusive trading competitions, registering users, tracking participation and leaderboard, claiming rewards. It lists use cases. Translate naturally into Japanese. Keep technical terms like "OKX Agentic Wallet", "leaderboard", "prize pool" as is or with appropriate Japanese equivalents. Use polite form? The original is imperative/instructive. In Japanese, it might be better to use plain form or te-form? Since it's a description, we can use plain form or dictionary form. I'll use plain form for consistency. Let me translate: "OKX Agentic Wallet限定の取引コンペティ

npx skills add https://github.com/okx/onchainos-skills --skill okx-growth-competition

OKX Growth Competition — Trading Competition

Agentic Wallet exclusive trading competitions. Full lifecycle split across focused references:

  • Participation (discover / register / trade / registered wallet / export guard) — references/participation.md
  • Details (rules / prize pool / four reward sections) — references/details.md
  • Rank (leaderboard / my own rank with CASE 1/2/3 templates) — references/rank.md
  • Claim (reward status check / atomic claim / contact collection) — references/claim.md
  • CLI reference (commands, parameters, return schemas) — references/cli-reference.md

This SKILL.md holds the global rules (facts, identity invariants, routing, output rules, time formatting, status codes, error handling) that ALL references depend on. Always read this file first; then jump into the matching reference for the user's intent.

Facts about every Agentic Wallet competition

Treat the following as factual ground truth when the user asks about how a competition works. The two chain-related fields play distinct, non-overlapping roles — never conflate them:

  • chainId — single id. The claim / reward chain ONLY (rewards are paid on this chain; its contract address lives here). It is NOT a trading chain unless it also appears in participateChainIds.
  • participateChainIds — array of ids returned by both list and detail endpoints. The trading chain set. Trades on any chain in this list count toward the same competition standing.

Trading-chain set = participateChainIds. Claim chain = chainId. These are two separate concepts; the display rules below NEVER union them.

  1. Chain id → display name mapping. Currently supported competition chains: 1 → Ethereum, 196 → X Layer, 501 → Solana.
  2. Never tell a user "your chain doesn't count" without first checking participateChainIds.
  3. myRankInfo.userTotal = 0 means the user has not yet hit the qualifying threshold or the backend metric pipeline has not picked up their trades yet — it does NOT mean the user's chain is unsupported.
  4. competition_rank takes a single optional wallet. Omit it for self-rank — the tool sends your accountId (covers every chain in participateChainIds in one call; no chain pick). Pass an explicit address ONLY when querying someone else's rank; the address chain family (EVM 0x... else Solana) must match the activity's primary chain or the tool rejects the call (no silent wrong-chain queries).

Identity resolution invariant

The query identity for competition_rank and competition_user_status is mutually exclusive: backend accepts EITHER accountId (self) OR walletAddress (cross-user) — never both. The answer to "which identity did you use?" is deterministic from the call shape.

Call shapeIdentity sent
competition_user_status (any)accountId — covers every chain in participateChainIds in one call
competition_rank without walletaccountId
competition_rank with wallet=<addr>walletAddress — tool validates addr's chain family (EVM 0x... else Solana) matches activity's chainId; mismatch → rejected
competition_claim (pre-check)accountId

For multi-activity competition_user_status (no activity_name), the same accountId is reused across all activities — backend joins by accountId.

Mandatory reading order

Before producing ANY user-facing message about a competition, you MUST first locate the matching section in the right reference file below and follow its fixed template structure. Do NOT improvise the format. Do NOT shorten the templates. Do NOT drop sections or merge them. Templates are product-mandated copy (Participation / Skill Quality wording, disclaimer) and must not be paraphrased.

The template structure is fixed; the language follows the user — see the ## Output Language rule below. When the user writes Chinese, translate the template strings to natural Chinese. When the user writes English, use English as written. Placeholders (including chain display names from {supportedChains}) stay as-is.

Quick router (user intent → reference file + section):

User intentReference fileSection
"list competitions / show available competitions"references/participation.mdStep 1 — Discover
"show details / show rules / show prize pool"references/details.mdStep 2 — View Details
"register / join"references/participation.mdStep 3 — Join
"trade for me"references/participation.mdStep 4 — Trade (delegates to okx-agentic-wallet)
"leaderboard / full board / who is winning"references/rank.mdCheck leaderboard (full board)
"my rank / what's my ranking / am I in the prize zone"references/rank.mdCheck user's own rank (across ALL leaderboards)
"show registered wallet"references/participation.mdQuery Registered Wallet
"export wallet"references/participation.mdWallet Export Guard
"check my status / did I win"references/claim.mdCheck Participation Status
"claim reward / claim my prize"references/claim.mdStep 6 — Claim Reward
Top-tier winner contact follow-up (needContact: true after claim)references/claim.mdContact collection (top-tier winners only)

If the user's intent does not clearly map to one of the above, ask which they meant before responding — do not invent a freeform format.

Pre-flight

Read ../okx-agentic-wallet/_shared/preflight.md. If missing, read _shared/preflight.md.

Cross-skill routing on common errors:

  • not logged in → walk the user through the okx-agentic-wallet login flow (run onchainos wallet login), then retry the original action.
  • Backend status codes (--status filter / status / joinStatus / rewardStatus) and error code messages (11002 / 11003 / 11008 / 1860402 / address limit reached / Sui-chain / region-blocked / not eligible): see references/cli-reference.md.

Command Index

All MCP tools mirror the CLI; MCP variants accept activity_name (server-resolves the id) and auto-resolve accountId / wallet addresses from the active session. Full flag tables and return shapes: references/cli-reference.md.

#CommandAuthDescription
1onchainos competition list [--status 0|1|2] [--page-size N] [--page-num N]NoneList competitions (default status=0, active only)
2onchainos competition detail --activity-id <id>NoneRules, prize pool, chain, timeline
3onchainos competition rank --activity-id <id> [--wallet <addr>] --sort-type <type> [--limit N]NoneLeaderboard + user rank. See references/rank.md for self/cross-user semantics and sort-type discovery.
4onchainos competition user-status [--activity-id <id>]Wallet loginParticipation & reward status (omit --activity-id for all activities)
5onchainos competition join --activity-id <id> --evm-wallet <addr> --sol-wallet <addr> --chain-index <chain_id>Wallet loginRegister the active account for the competition
6onchainos competition claim --activity-id <id> --evm-wallet <addr> --sol-wallet <addr>Wallet loginAtomic claim — signs + broadcasts inside the call. See references/claim.md.
7onchainos competition submit-contact --activity-id <id> --contact-type <Telegram|WeChat|Email|Twitter> --contact-value <text>Wallet loginRecord contact for a top-tier winner; only after a claim with needContact: true. See references/claim.md.

--status (request filter): 0=active, 1=ended, 2=all activityStatus (response field): 3=active, 4=ended — different from the request filter

Output Rules

Internal-only IDs vs user-facing display. Internal numeric IDs (activityId, chainIndex, accountId) are returned in tool responses on purpose — they are needed to chain calls between tools (e.g. after competition_join, you may need to call competition_detail with the activity id to fill the success template). Keep them in the data layer; never render them in user-visible messages.

Never include any internal id in a message produced for the user — under ANY circumstance, in ANY format. Identify activities to the user EXCLUSIVELY by activityName (or shortName if name is unavailable).

Forbidden user-visible patterns (do NOT produce output like this):

  • Agentic Trading Contest (#107)
  • #106 (agenticwallettest1)
  • Any column, row, or inline reference exposing an activity ID (e.g. competition 107, an ID column, a labeled Activity ID row) — same rule, regardless of label, shape, or language.

Correct user-visible pattern:

  • Agentic Trading Contest
  • When disambiguating two activities with the same name, append chainName (e.g. Agentic Trading Contest (Solana)), never the ID.

Behind the scenes (allowed and expected):

  • Reading activityId from a competition_user_status / competition_join response and passing it to competition_detail to fetch the data needed by a fixed template.
  • Any tool-to-tool chaining via numeric ids — as long as the final user-facing message omits them.

When the user asks to act on a specific activity (e.g. "claim Agentic Trading Contest"), the MCP tools competition_claim / competition_join accept activity_name and resolve the id server-side, so you can also use names directly without doing your own lookup.

Output Language

Render every fixed template in the user's conversation language. The template structure (sections, ordering, numbered items, table column count, placeholder positions, the {supportedChains} placeholder, and the [Disclaimer: ...] block) is fixed and must NOT change. Only the natural-language text inside is translated to the user's language naturally.

Placeholders are never translated. {supportedChains}, {chainName}, {rewardUnit}, {txHash}, {accountName}, etc. are filled with API values verbatim — do not localize them. Chain display names (e.g. Solana, X Layer, Base) come from the canonical id → name mapping and stay as-is in every language.

Pre-Delivery Checklist

Final check before sending — covers the reference-file MUSTs that are easy to skip after a long response. (Rules already covered in earlier sections — internal IDs, participateChainIds, *Formatted, language/template fidelity — are not repeated here; verify them by following the rules at their home sections.)

  • On a successful registration response → the [Disclaimer: Digital asset trading involves risk. ...] line is present on its own line at the end. (→ participation.md → Successful registration)
  • On a claim runtime failure (signing / broadcast / network) → the 3-bullet failure-suggestion block is appended. On a pre-check rejection (rewardStatus 0/2/3/4, code 11002, code 11008) → the suggestion block is OMITTED. (→ claim.md → Fixed failure-suggestion block)
  • Before invoking competition_claim → the pre-claim preview line (You are about to claim {rewardAmount} {rewardUnit} on {chainName}. Reply "confirm" to proceed.) was rendered and the user replied with an explicit confirmation. (→ claim.md → Pre-claim preview)

okxのその他のスキル

okx-agent-identity
okx
We need to translate the given text from English/Chinese to Japanese. The text describes an agent identity system on XLayer using ERC-8004. It includes roles and usage examples. We must preserve the name "okx-agent-identity" but it's not in the text, so we ignore. Translate the entire text inside <text> to Japanese, keeping technical terms like ERC-8004, XLayer, agent, ASP, etc. Also keep the Chinese terms as they are? The instruction says preserve product names, protocol names, URLs, numbers, technical terms. The Chinese terms like 用户, 买家, etc. are part of the roles and usage examples. Should we translate them to Japanese? The source text has both English and Chinese. The target language is Japanese, so we should translate the English and Chinese into Japanese. But the Chinese terms are listed as alternatives for roles. For consistency, we should translate them to Japanese equivalents. However, the instruction says "preserve product names, protocol names, URLs, numbers, and technical terms." The Chinese words like
developmentapi
okx-ai-guide
okx
OKX.AI(Agent経済システム)の紹介とオンボーディングエントリ。ユーザーがOKX.AIとは何か、何ができるか、使い方や始め方を尋ねたり、OKX.AIのチュートリアル/クイックスタート/ヘルプを求めたり、製品名を様々なスペル/スペース/大文字小文字/タイプミスのバリエーション(OKXAI、okx ai、okx-ai、小文字のokx.ai、誤入力された中国語の「啥是okxai」など)で入力した場合に使用します。例:what is OKX.AI / OKX.AI 是什么 / 怎么用 OKX.AI / OKX.AI 快速开始、およびあらゆる言語での言い換え。ランタイムプラットフォームを検出し、…を紹介します。
researchapidocument
okx-agentic-wallet
okx
OKX Agentic WalletとそのGas Station機能に関する信頼できる情報源。Gas Stationは、サードパーティのRelayerを介したSolana上のOKXのステーブルコインガス機能であり、Solanaのみ対応、EIP-7702非対応。Gas Stationに関する質問(概要、動作方法、対応トークン、手数料、有効化/無効化、デフォルトガストークンの変更、Jito Bundler互換性)およびウォレット操作全般(ログイン、OTP認証、アカウントの追加/切り替え/ステータス確認/ログアウト、残高、資産、保有状況、アドレス、入金/受取/チャージなど)には必ず呼び出すこと。
apiweb-scrapingdevelopment
okx-agent-chat
okx
Routing stub — any a2a-agent-chat envelope / agent-task system message is handled by `okx-agent-task`. For missing or uninitialized OKX A2A communication runtime/plugin, read `skills/okx-agent-chat/ensure-okx-a2a-communication-ready.md`.
developmentapicommunication
okx-agent-task
okx
受信エンベロープで必ず起動:(1) {agentId, message:{source:"system", event, jobId, ...}} — システムイベント;(2) {msgType:"a2a-agent-chat", jobId, sender:{role}, ...} — エージェント間タスクチャット(フィールドはトップレベル;sender.role = 相手側、自分ではない);(3) エンベロープ内のリテラル「Read okx-agent-task/SKILL.md」。以下のキーワードでも起動:发布任务 / 创建任务 / 帮我发任务 / publish task / create task / 接任务 / 接单 / 协商 / 验收 / 拒绝 / 仲裁 / dispute / stake / unstake / 修改卖家 / 修改预算 / change provider / change budget...
developmentapicommunication
okx-agent-payments-protocol
okx
We need to translate the given English text into Japanese, preserving the specified name "okx-agent-payments-protocol" but not including it unless it appears in the source text. The source text does not contain that name, so we just translate the text inside <text>. The text is a description of when to use the agent skill. We must preserve product names, protocol names, URLs, numbers, technical terms. So terms like HTTP 402, x402, x402Version, X-PAYMENT, PAYMENT-REQUIRED, PAYMENT-SIGNATURE, WWW-Authenticate: Payment, permit2, upto, metered billing, payment channel / voucher / session, channelId / channel_id, opening / closing / topping up / settling / refunding a channel, paymentId, a2a_ link, creating / checking a payment link, A2MCP, A2MCP endpoint, Agent's endpoint, concrete endpoint should be kept as is or with appropriate Japanese punctuation. Also note the ellipsis at the end. We need to produce
okx-security
okx
We need to translate the given text from English to Japanese. The text describes a skill for security scanning. We must preserve the name "okx-security" but it's not in the text, so we don't include it. We translate the entire text inside <text>. No extra commentary, no labels. Just the translation. The text: "Use this skill for security scanning: check transaction safety, is this transaction safe, pre-execution check, security scan, token risk scanning, honeypot detection, DApp/URL phishing detection, message signature safety, malicious transaction detection, approval safety checks, token approval management. Triggers: 'is this token safe', 'check token security', 'honeypot check', 'scan this tx', 'scan this swap tx', 'tx risk check', 'is this URL a scam', 'check if this dapp is safe', 'phishing..." We need to translate naturally into Japanese. Keep technical terms like "honeypot", "DApp", "URL", "tx" (transaction), "swap", "phishing
okx-task-watch
okx
We need to translate the text inside <text> from English to Japanese. The instruction says to preserve product names, protocol names, URLs, numbers, and technical terms. The name "okx-task-watch" is not in the text, so we don't include it. We must not add labels or extra commentary. The text contains a mix of Japanese and English phrases. The target language is Japanese, so we should translate the English parts into Japanese, but keep technical terms like "okx-a2a", "user watch", "user outdated-list", "decision_request", etc. Also preserve "OKX A2A" as is. The text already has some Japanese: "监听任务进展 / 帮我盯着任务 / 任务有动静告诉我 / 历史消息 / 未读消息 / 未决策 / 待决策 / 继续监听" - these are Chinese? Actually, the source text includes Chinese characters. The instruction says "Translate only the text inside <text>." and target language is Japanese. So we need to convert the Chinese parts to Japanese? But
developmentapiproductivity