Gate Wallet Market Skill
Market/Token domain — K-line, trading stats, liquidity, token details, rankings, security audit, new token discovery. 7 MCP tools, all require no auth.
Trigger scenarios: User mentions "quotes", "K-line", "price", "token info", "ranking", "security", "audit", "market", "kline", "chart", "token info", "ranking", "risk", "new token", or when other Skills need market data / security review support.
MCP Server Connection Check
First-Session Check
Before the first MCP tool call in a session, run one connection probe to confirm Gate Wallet MCP Server is available. No need to repeat for later operations.
Probe call:
CallMcpTool(server="gate-wallet", toolName="chain.config", arguments={chain: "eth"})
Result Action
Success MCP Server available, proceed with business tools directly, no need to probe again
server not found / unknown server
Cursor not configured → Show configuration guide (see below)
connection refused / timeout
Remote unreachable → Prompt user to check URL and network
Runtime Error Fallback
If business tool calls fail later (connection error, timeout, etc.), handle as follows:
Error Type Action
server not found / unknown server
MCP Server config missing → Show configuration guide
connection refused / timeout
Service disconnected mid-session → Show connection failure message
401 / unauthorized
API Key auth failed → Show auth failure message
Other business errors (e.g. token not found) Normal business error, handle per "Edge Cases and Error Handling" section
When Cursor Is Not Configured
❌ Gate Wallet MCP Server Not Configured
No MCP Server named "gate-wallet" was found in Cursor. Please configure as follows:
Method 1: Via Cursor Settings (recommended)
- Open Cursor → Settings → MCP
- Click "Add new MCP server"
- Fill in:
- Name: gate-wallet
- Type: HTTP
- URL: https://your-mcp-server-domain/mcp
- Save and retry
Method 2: Edit config file manually Edit ~/.cursor/mcp.json and add: { "mcpServers": { "gate-wallet": { "url": "https://your-mcp-server-domain/mcp" } } }
If you do not have an MCP Server URL yet, please contact your administrator.
When Remote Service Is Unreachable
⚠️ Gate Wallet MCP Server Connection Failed
MCP Server config was found but the remote service cannot be reached. Please check:
- Confirm the service URL is correct (is the configured URL reachable?)
- Check network (VPN / firewall blocking?)
- Confirm the remote service is running
When API Key Auth Fails
🔑 Gate Wallet MCP Server Auth Failed
MCP Server is connected but API Key validation failed. The service uses AK/SK auth (x-api-key header). Please contact your administrator for a valid API Key and confirm server-side config.
Auth Note
All tools in this Skill require no auth. They are public market data queries only; no mcp_token needed.
MCP Tool Usage
- market_get_kline — Get K-line Data
Get K-line (candlestick) data for a token in a given time interval.
Field Description
Tool name market_get_kline
Parameters { chain: string, token_address: string, interval?: string, limit?: number }
Returns K-line array; each item has timestamp , open , high , low , close , volume
Parameter details:
Parameter Required Description
chain
Yes Chain id (e.g. "eth" , "bsc" )
token_address
Yes Token contract address. Use "native" for native token
interval
No K-line interval (e.g. "1m" , "5m" , "1h" , "4h" , "1d" ). Default "1h"
limit
No Number of items to return. Default 100
Call example:
CallMcpTool( server="gate-wallet", toolName="market_get_kline", arguments={ chain: "eth", token_address: "0xdAC17F958D2ee523a2206206994597C13D831ec7", interval: "1h", limit: 24 } )
Return example:
[ { "timestamp": 1700000000, "open": "1.0001", "high": "1.0005", "low": "0.9998", "close": "1.0002", "volume": "15000000" } ]
Agent behavior: Present K-line trend as text table or summary (high, low, change %, volume change, etc.).
- market_get_tx_stats — Get Trading Stats
Get on-chain trading stats for a token (buy/sell count, volume, etc.).
Field Description
Tool name market_get_tx_stats
Parameters { chain: string, token_address: string, period?: string }
Returns { buy_count: number, sell_count: number, buy_volume: string, sell_volume: string, unique_buyers: number, unique_sellers: number }
Parameter details:
Parameter Required Description
chain
Yes Chain id
token_address
Yes Token contract address
period
No Stats period (e.g. "24h" , "7d" , "30d" ). Default "24h"
Call example:
CallMcpTool( server="gate-wallet", toolName="market_get_tx_stats", arguments={ chain: "eth", token_address: "0xdAC17F958D2ee523a2206206994597C13D831ec7", period: "24h" } )
Return example:
{ "buy_count": 12500, "sell_count": 11800, "buy_volume": "45000000", "sell_volume": "42000000", "unique_buyers": 3200, "unique_sellers": 2900 }
- market_get_pair_liquidity — Get Pair Liquidity
Get liquidity pool info for a token pair.
Field Description
Tool name market_get_pair_liquidity
Parameters { chain: string, token_address: string }
Returns { total_liquidity_usd: string, pairs: [{ dex: string, pair: string, liquidity_usd: string, volume_24h: string }] }
Parameter details:
Parameter Required Description
chain
Yes Chain id
token_address
Yes Token contract address
Call example:
CallMcpTool( server="gate-wallet", toolName="market_get_pair_liquidity", arguments={ chain: "eth", token_address: "0xdAC17F958D2ee523a2206206994597C13D831ec7" } )
Return example:
{ "total_liquidity_usd": "250000000", "pairs": [ { "dex": "Uniswap V3", "pair": "USDT/ETH", "liquidity_usd": "120000000", "volume_24h": "35000000" }, { "dex": "Uniswap V3", "pair": "USDT/USDC", "liquidity_usd": "80000000", "volume_24h": "22000000" } ] }
- token_get_coin_info — Get Token Details
Get detailed token info (name, symbol, market cap, holders, etc.).
Field Description
Tool name token_get_coin_info
Parameters { chain: string, token_address: string }
Returns { name: string, symbol: string, decimals: number, total_supply: string, market_cap: string, holders: number, price: string, price_change_24h: string, website: string, socials: object }
Parameter details:
Parameter Required Description
chain
Yes Chain id
token_address
Yes Token contract address
Call example:
CallMcpTool( server="gate-wallet", toolName="token_get_coin_info", arguments={ chain: "eth", token_address: "0xdAC17F958D2ee523a2206206994597C13D831ec7" } )
Return example:
{ "name": "Tether USD", "symbol": "USDT", "decimals": 6, "total_supply": "40000000000", "market_cap": "40000000000", "holders": 5200000, "price": "1.0001", "price_change_24h": "0.01", "website": "https://tether.to", "socials": { "twitter": "@Tether_to" } }
- token_ranking — Token Rankings
Get on-chain token rankings (by market cap, change %, volume, etc.).
Field Description
Tool name token_ranking
Parameters { chain: string, sort_by?: string, order?: string, limit?: number }
Returns Token ranking array; each item has rank , name , symbol , price , market_cap , change_24h , volume_24h
Parameter details:
Parameter Required Description
chain
Yes Chain id
sort_by
No Sort dimension: "market_cap" , "volume_24h" , "change_24h" , "holders" . Default "market_cap"
order
No Sort direction: "desc" (descending), "asc" (ascending). Default "desc"
limit
No Number of items to return. Default 20
Call example:
CallMcpTool( server="gate-wallet", toolName="token_ranking", arguments={ chain: "eth", sort_by: "volume_24h", order: "desc", limit: 10 } )
Return example:
[ { "rank": 1, "name": "Tether USD", "symbol": "USDT", "price": "1.0001", "market_cap": "40000000000", "change_24h": "0.01", "volume_24h": "5000000000" } ]
- token_get_coins_range_by_created_at — New Token Discovery
Get newly listed tokens by creation time range.
Field Description
Tool name token_get_coins_range_by_created_at
Parameters { chain: string, start_time?: number, end_time?: number, limit?: number }
Returns Token array; each item has name , symbol , token_address , created_at , price , market_cap , holders
Parameter details:
Parameter Required Description
chain
Yes Chain id
start_time
No Start timestamp (seconds). Default 24 hours ago
end_time
No End timestamp (seconds). Default current time
limit
No Number of items to return. Default 20
Call example:
CallMcpTool( server="gate-wallet", toolName="token_get_coins_range_by_created_at", arguments={ chain: "eth", limit: 10 } )
- token_get_risk_info — Token/Contract Security Audit
Get security risk assessment for a token or contract (audit status, risk labels, etc.).
Field Description
Tool name token_get_risk_info
Parameters { chain: string, address: string }
Returns { risk_level: string, is_audited: boolean, risk_items: [{ type: string, description: string, severity: string }], contract_verified: boolean, owner_renounced: boolean }
Parameter details:
Parameter Required Description
chain
Yes Chain id
address
Yes Token contract address or any contract address
Call example:
CallMcpTool( server="gate-wallet", toolName="token_get_risk_info", arguments={ chain: "eth", address: "0xdAC17F958D2ee523a2206206994597C13D831ec7" } )
Return example:
{ "risk_level": "low", "is_audited": true, "risk_items": [], "contract_verified": true, "owner_renounced": false }
risk_level meanings:
risk_level Meaning Agent Behavior
low
Low risk Proceed normally
medium
Medium risk Warn user, list risk items
high
High risk Strong warning, advise against interaction. If user insists, show security warning confirmation
unknown
No audit data Note that no security info was found, suggest user verify
Agent behavior: This tool is often called by gate-dex-mcpdapp and gate-dex-mcpswap across Skills for pre-trade contract security review.
Skill Routing
Based on user intent after viewing market data, route to the right Skill:
User Intent Route To
Wants to buy/sell the token gate-dex-mcpswap
Wants to transfer the token gate-dex-mcptransfer
View own holdings gate-dex-mcpwallet
View trade/Swap history gate-dex-mcpwallet
Wants to interact with DApp gate-dex-mcpdapp
Workflows
Before running any workflow below for the first time in a session, run the MCP Server connection check (see above). After a successful check, run business tools directly. If a connection error occurs later, follow the runtime error fallback rules.
Flow A: View Token Quotes (K-line + Stats)
Step 1: Intent detection + parameter collection Extract from user input:
- Token name/symbol or contract address
- Chain (optional, infer from context)
- K-line interval (optional, default 1h)
- Stats period (optional, default 24h)
If user provides token symbol but not contract address:
- Call token_get_coin_info or infer address from context ↓
Step 2: Fetch market data Call in parallel (if applicable):
- market_get_kline({ chain, token_address, interval, limit })
- market_get_tx_stats({ chain, token_address, period })
- market_get_pair_liquidity({ chain, token_address }) ↓
Step 3: Format output
──────────────────────────── 📈 {token_name} ({symbol}) Quotes
Current price: ${price} 24h change: {change_24h}% 24h high: ${high_24h} 24h low: ${low_24h}
── Trading stats (24h) ── Buys: {buy_count} txs / ${buy_volume} Sells: {sell_count} txs / ${sell_volume} Unique buyers: {unique_buyers} Unique sellers: {unique_sellers}
── Liquidity ── Total liquidity: ${total_liquidity_usd} Main pairs:
| DEX | Pair | Liquidity | 24h Volume |
|---|---|---|---|
| {dex} | {pair} | ${liquidity} | ${volume} |
| ──────────────────────────── |
↓
Step 4: Suggest next steps
- Buy this token → gate-dex-mcpswap
- View security info → token_get_risk_info
- Browse more tokens → token_ranking
Flow B: View Token Details
Step 1: Run query Call token_get_coin_info({ chain, token_address }) ↓
Step 2: Format output
──────────────────────────── 🪙 Token Details
Name: {name} ({symbol}) Contract: {token_address} Chain: {chain_name} Decimals: {decimals} Total supply: {total_supply} Market cap: ${market_cap} Holders: {holders} Current price: ${price} 24h change: {price_change_24h}% Website: {website} ────────────────────────────
↓
Step 3: Suggest next steps
- View K-line quotes → market_get_kline
- View security audit → token_get_risk_info
- Buy this token → gate-dex-mcpswap
Flow C: Token Rankings
Step 1: Parameter collection Determine sort dimension (market cap/volume/change), chain, count ↓
Step 2: Run query Call token_ranking({ chain, sort_by, order, limit }) ↓
Step 3: Format output
──────────────────────────── 🏆 {chain_name} Token Rankings (by {sort_by})
| # | Token | Price | 24h Change | Market Cap | 24h Volume |
|---|---|---|---|---|---|
| 1 | {symbol} | ${price} | {change}% | ${mcap} | ${vol} |
| 2 | ... | ... | ... | ... | ... |
| ──────────────────────────── |
Flow D: Security Review
Step 1: Run query Call token_get_risk_info({ chain, address }) ↓
Step 2: Format output
When risk_level == "low":
──────────────────────────── 🛡️ Security Audit Result
Contract: {address} Chain: {chain_name} Risk level: Low ✅ Contract verified: Yes Audited: Yes Owner renounced: {Yes/No} Risk items: None ────────────────────────────
When risk_level == "high":
──────────────────────────── ⚠️ Security Audit Result
Contract: {address} Chain: {chain_name} Risk level: High ⚠️ Contract verified: {Yes/No} Audited: {Yes/No}
Risk items:
- [{severity}] {description}
- [{severity}] {description}
Recommendation: Interact with this contract with caution; there is risk of asset loss. ────────────────────────────
Flow E: New Token Discovery
Step 1: Parameter collection Determine chain and time range ↓
Step 2: Run query Call token_get_coins_range_by_created_at({ chain, start_time?, end_time?, limit }) ↓
Step 3: Format output
──────────────────────────── 🆕 {chain_name} Newly Listed Tokens
| Token | Contract | Created | Price | Market Cap | Holders |
|---|---|---|---|---|---|
| {symbol} | {addr_short} | {time} | ${price} | ${mcap} | {holders} |
Note: New tokens carry higher risk; consider checking security audit info before trading. ────────────────────────────
↓
Step 4: Suggest next steps
- View security info for a token → token_get_risk_info
- View token details → token_get_coin_info
Cross-Skill Workflow
Called by Other Skills
This Skill provides market data and security info and is often called by:
Caller Scenario Tools Used
gate-dex-mcpswap
Query token info before Swap to help resolve address token_get_coin_info
gate-dex-mcpswap
Security review of target token before Swap token_get_risk_info
gate-dex-mcpdapp
Contract security review before DApp trade token_get_risk_info
Query → Review → Trade Workflow
gate-dex-mcpmarket (token_get_coin_info → token info) → gate-dex-mcpmarket (token_get_risk_info → security review) → gate-dex-mcpwallet (check balance) → gate-dex-mcpswap (quote → confirm → execute)
Display Rules
Price Display
-
Above $1: 2 decimal places (e.g. $1,920.50 )
-
$0.01 ~ $1: 4 decimal places (e.g. $0.0521 )
-
Below $0.01: 6–8 significant digits (e.g. $0.00000142 )
-
Percentages: 2 decimal places (e.g. +2.15% , -0.32% )
-
Large numbers: Thousands separator; very large numbers use abbreviations (e.g. $1.2B , $350M )
Address Display
-
When showing full contract address, include chain info
-
For short references use masked format: 0xdAC1...1ec7
-
Provide block explorer links for verification
Time Display
-
Use user's local timezone
-
Format: YYYY-MM-DD HH:mm:ss
-
Relative time: within 24h use "X minutes ago", "X hours ago"
Edge Cases and Error Handling
Scenario Action
MCP Server not configured Abort all operations, show Cursor config guide
MCP Server unreachable Abort all operations, show network check prompt
Invalid token contract address Prompt that address format is wrong, ask user to confirm
Token not found on specified chain Prompt that token was not found, suggest checking chain and address
market_get_kline returns empty Prompt that no K-line data for this token, may be new or very low volume
token_get_risk_info returns unknown
Prompt that no security audit info was found, suggest user investigate
token_ranking returns empty list Prompt that no ranking data for this chain
Query timeout Prompt network issue, suggest retry later
MCP Server returns unknown error Show error message as-is
User provides token symbol instead of address Try resolving via token_get_coin_info or context to contract address
Unsupported chain id Show list of supported chains
Security Rules
-
Read-only: This Skill only queries public data; no on-chain writes, no auth, no trade confirmation gate.
-
Objective security audit display: Present token_get_risk_info results as-is; do not add subjective judgment. For high risk, clearly label but do not decide for the user.
-
New token risk notice: When showing new token lists, add a risk reminder; new tokens generally carry higher risk.
-
No operations when MCP Server unavailable: If first connection check fails, abort all further steps; on connection errors during runtime, show prompt promptly.
-
Transparent MCP Server errors: Show all MCP Server error messages to the user as-is; do not hide or alter.
-
No investment advice: Market data is for reference only; Agent does not recommend or judge token investment value.