Gate DEX swap EXECUTION skill. For on-chain token exchange transactions that MODIFY blockchain state: swap, buy, sell, exchange, convert tokens, cross-chain bridge. Every operation here results in an on-chain transaction requiring signing. This skill EXECUTES trades — it does not provide read-only data lookups or manage wallet accounts.
Pure Routing Layer — Swap EXECUTION only. Every operation produces an on-chain transaction. All specifications in
references/.
Trigger Scenarios: Use when the user wants to execute a token exchange that modifies blockchain state:
Do not use OpenAPI for swap unless user explicitly asks OpenAPI/AK/SK. MCP unavailable → references/setup.md only.
NOT this skill (common misroutes):
gate-dex-market (read-only lookup, no trade intent)gate-dex-walletgate-dex-wallet (direct transfer, not swap)gate-dex-wallet (DApp interaction)On session start (not during interactions), check for updates once:
version and updated fields.https://raw.githubusercontent.com/gateio/web3_wallet_skill/master/skills/gate-dex-trade/SKILL.md.updated date is newer.SKILL.md, README.md, CHANGELOG.md, install.sh, references/mcp.md, references/openapi.md).User triggers trading intent
↓
Step 1: Has user explicitly specified a mode?
├─ Explicitly mentions "OpenAPI" / "AK/SK" / "API Key" → OpenAPI mode
├─ Otherwise → MCP only (Step 2)
└─ Not specified → Step 2
↓
Step 2: Is this a cross-chain swap?
├─ Cross-chain → Must use MCP mode (OpenAPI doesn't support cross-chain), proceed to Step 3
└─ Same-chain / uncertain → Step 3
↓
Step 3: Gate Wallet MCP Server Discovery & Detection
a) Scan configured MCP Server list for Servers providing both `dex_tx_quote` and `dex_tx_swap` tools
b) If found → Record server identifier, verify with:
CallMcpTool(server="<identifier>", toolName="dex_chain_config", arguments={chain: "ETH"})
├─ Success → MCP mode
└─ Failed → Step 4
c) No matching Server → Step 4
↓
Step 4: MCP unavailable → setup guide only (`references/setup.md`), no OpenAPI fallback
Read and strictly follow references/mcp.md, execute according to its complete workflow.
Includes: connection detection, authentication (mcp_token), MCP Resource/tool calls (dex_tx_quote / dex_tx_swap / dex_tx_swap_detail), token address resolution, native_in/native_out rules, three-step confirmation gateway (SOP), quote templates, risk warnings, cross-Skill collaboration, security rules.
Default off in this workspace — explicit OpenAPI request only.
Limitation: OpenAPI mode only supports same-chain Swap, does not support cross-chain exchanges.
Load files progressively — only load what the current step needs:
references/openapi/_shared.md — env detection, credentials, API call method (via helper script)| Stage | Load File | When |
|---|---|---|
| Query (chain/gas) | references/openapi/quote.md | User asks about chains or gas |
| Swap: get quote | references/openapi/quote.md + references/openapi/sop.md | User initiates swap |
| Swap: build tx | references/openapi/build.md | After quote confirmed (SOP Step 2) |
| Swap: sign tx | references/openapi/sign.md | After build confirmed (SOP Step 3) |
| Swap: submit | references/openapi/submit.md | After signing complete |
| History | references/openapi/submit.md | User asks for swap history |
references/openapi/errors.mdLegacy monolithic file preserved at
references/openapi.mdfor backward compatibility.
When MCP detection fails and a setup guide is needed, read and display references/setup.md. Show only the configuration for the user's current platform when identifiable. Display at most once per session.
Actual supported chains are determined by runtime API/Resource returns:
swap://supported_chains Resourcetrade.swap.chain interfaceFor uncommon chains: MCP calls dex_chain_config, OpenAPI calls trade.swap.chain.
| Source | Scenario | Routing |
|---|---|---|
gate-dex-wallet | Exchange tokens after viewing balance | Carry context, follow routing flow |
gate-dex-market | Buy token after viewing market data | Carry token info, follow routing flow |
gate-dex-wallet/references/transfer.md | Exchange remaining tokens after transfer | Carry chain/token context |
mcp_token, OpenAPI uses AK/SK — never mix