OpenTrade DEX Market Data CLI
14 commands for on-chain prices, trades, candlesticks, index prices, smart money signals, and meme pump token scanning.
Pre-flight Checks
Every time before running any
command, always follow these steps in order. Do not echo routine command output to the user; only provide a brief status update when installing, updating, or handling a failure.
-
Confirm installed: Run
. If not found, install it:
bash
curl -sSL https://raw.githubusercontent.com/6551Team/openskills/main/skills/opentrade/install.sh | sh
If the install script fails, ask the user to install manually following the instructions at:
https://github.com/6551Team/openskills
-
Check for updates: Read
and compare it with the current timestamp:
bash
cached_ts=$(cat ~/.opentrade/last_check 2>/dev/null || true)
now=$(date +%s)
- If is non-empty and
(now - cached_ts) < 43200
(12 hours), skip the update and proceed.
- Otherwise (file missing or older than 12 hours), run the installer to check for updates:
bash
curl -sSL https://raw.githubusercontent.com/6551Team/openskills/main/skills/opentrade/install.sh | sh
If a newer version is installed, tell the user and suggest updating their opentrade skills from https://github.com/6551Team/openskills to get the latest features.
-
If any
command fails with an unexpected error during this
session, try reinstalling before giving up:
bash
curl -sSL https://raw.githubusercontent.com/6551Team/openskills/main/skills/opentrade/install.sh | sh
-
Find or create a .env file in the project root to override the default API credentials, Load it before performing opentrade operations.
bash
OPEN_TOKEN=your_token_here
Get your API token at:
https://6551.io/mcp
Security warning: Never commit .env to git (add it to .gitignore) and never expose credentials in logs, screenshots, or chat messages.
Router Discovery
IMPORTANT: If the user has not specified a trading router, you MUST first discover available routers:
Response format:
json
{
"ok": true,
"data": [
{
"api": "v2",
"created_at": "2026-03-10 01:15:42",
"is_active": true,
"name": "6551dex test",
"quota_reward": 0,
"trader": "6551dex",
"updated_at": "2026-03-10 01:15:42"
},
{
"api": "v1",
"created_at": "2026-03-03 21:24:34",
"is_active": true,
"name": "okx test",
"quota_reward": 0,
"trader": "okx",
"updated_at": "2026-03-03 21:24:34"
}
]
}
Usage:
- Extract and from the response
- MANDATORY: ALL subsequent commands in this session MUST include and flags
- Example:
opentrade market price 0x... --chain ethereum --trader okx --api v1
- Default fallback: If the API returns no data or is empty, use
Skill Routing
- For token search / metadata / rankings / holder analysis → use
- For swap execution → use
- For transaction broadcasting → use
- For wallet balances / portfolio → use
- Signal data (smart money / whale / KOL buy signals, signal-supported chains) → use
- Meme pump scanning (token lists, dev info, bundle detection, aped wallets) → use
- Meme token safety (rug pull check, dev reputation, bundler/sniper analysis, similar tokens by same dev) → use
Quickstart
bash
# Get real-time price of OKB on XLayer
opentrade market price 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee --chain xlayer
# Get hourly candles
opentrade market kline 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee --chain xlayer --bar 1H --limit 24
# Solana SOL candles (use wSOL SPL token address for candles/trades)
opentrade market kline So11111111111111111111111111111111111111112 --chain solana --bar 1H --limit 24
# Get batch prices for multiple tokens
opentrade market prices "1:0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,501:So11111111111111111111111111111111111111112"
# Get smart money signals on Solana
opentrade market signal-list solana --wallet-type "1,2,3" --min-amount-usd 1000
# Get supported chains and protocols for meme pump
opentrade market memepump-chains
# List new meme pump tokens on Solana
opentrade market memepump-tokens solana --stage NEW
# Get meme pump token details
opentrade market memepump-token-details <address> --chain solana
# Check developer reputation for a meme token
opentrade market memepump-token-dev-info <address> --chain solana
Chain Name Support
The CLI accepts human-readable chain names (e.g.,
,
,
) and resolves them automatically. You can also use
with numeric chain indices (e.g.,
,
,
).
| Chain | Name | chainIndex |
|---|
| XLayer | | |
| Solana | | |
| Ethereum | | |
| Base | | |
| BSC | | |
| Arbitrum | | |
Command Index
Market Price Commands
| # | Command | Description |
|---|
| 1 | opentrade market price <address>
| Get single token price |
| 2 | opentrade market prices <tokens>
| Batch price query |
| 3 | opentrade market trades <address>
| Get recent trades |
| 4 | opentrade market kline <address>
| Get K-line / candlestick data |
Index Price Commands
| # | Command | Description |
|---|
| 5 | opentrade market index <address>
| Get index price (aggregated from multiple sources) |
Signal Commands
| # | Command | Description |
|---|
| 6 | opentrade market signal-chains
| Get supported chains for market signals |
| 7 | opentrade market signal-list <chain>
| Get latest signal list (smart money / KOL / whale activity) |
Meme Pump Commands
| # | Command | Description |
|---|
| 8 | opentrade market memepump-chains
| Get supported chains and protocols for meme pump |
| 9 | opentrade market memepump-tokens <chain>
| List meme pump tokens with advanced filtering |
| 10 | opentrade market memepump-token-details <address>
| Get detailed info for a single meme pump token |
| 11 | opentrade market memepump-token-dev-info <address>
| Get developer analysis and holding info |
| 12 | opentrade market memepump-similar-tokens <address>
| Find similar tokens by same creator |
| 13 | opentrade market memepump-token-bundle-info <address>
| Get bundle/sniper analysis |
| 14 | opentrade market memepump-aped-wallet <address>
| Get aped (same-car) wallet list |
Boundary: market vs token skill
| Need | Use this skill () | Use instead |
|---|
| Real-time price (single value) | | - |
| Price + market cap + liquidity + 24h change | - | opentrade token price-info
|
| K-line / candlestick chart | | - |
| Trade history (buy/sell log) | | - |
| Index price (multi-source aggregate) | | - |
| Token search by name/symbol | - | |
| Token metadata (decimals, logo) | - | |
| Token ranking (toplist) | - | |
| Holder distribution | - | |
| Smart money / whale / KOL signals | opentrade market signal-list
| - |
| Signal-supported chains | opentrade market signal-chains
| - |
| Browse meme pump tokens by stage | opentrade market memepump-tokens
| - |
| Meme token audit (top10, dev, insiders) | opentrade market memepump-token-details
| - |
| Developer reputation / rug pull history | opentrade market memepump-token-dev-info
| - |
| Similar tokens by same creator | opentrade market memepump-similar-tokens
| - |
| Bundle/sniper detection | opentrade market memepump-token-bundle-info
| - |
| Aped (same-car) wallet analysis | opentrade market memepump-aped-wallet
| - |
Rule of thumb:
= raw price feeds, charts, smart money signals & meme pump scanning (including dev reputation, rug pull checks, bundler analysis).
= token discovery & enriched analytics (search, toplist, holders, market cap).
Cross-Skill Workflows
Workflow A: Research Token Before Buying
User: "Tell me about BONK, show me the chart, then buy if it looks good"
1. opentrade-token opentrade token search BONK --chains solana → get tokenContractAddress + chain
2. opentrade-token opentrade token price-info <address> --chain solana → market cap, liquidity, 24h volume
3. opentrade-token opentrade token holders <address> --chain solana → check holder distribution
4. opentrade-market opentrade market kline <address> --chain solana → K-line chart for visual trend
↓ user decides to buy
5. opentrade-dex-swap opentrade swap quote --from ... --to ... --amount ... --chain solana
6. opentrade-dex-swap opentrade swap swap --from ... --to ... --amount ... --chain solana --wallet <addr>
Data handoff:
from step 1 is reused as
in steps 2-6.
Workflow B: Price Monitoring / Alerts
1. opentrade-token opentrade token toplist --chains solana --sort-by 5 → find trending tokens by volume
↓ select tokens of interest
2. opentrade-market opentrade market price <address> --chain solana → get current price for each
3. opentrade-market opentrade market kline <address> --chain solana --bar 1H → hourly chart
4. opentrade-market opentrade market index <address> --chain solana → compare on-chain vs index price
Workflow C: Signal-Driven Token Research & Buy
User: "Show me what smart money is buying on Solana and buy if it looks good"
1. opentrade-market opentrade market signal-chains → confirm Solana supports signals
2. opentrade-market opentrade market signal-list solana --wallet-type "1,2,3"
→ get latest smart money / whale / KOL buy signals
→ extracts token address, price, walletType, triggerWalletCount
↓ user picks a token from signal list
3. opentrade-token opentrade token price-info <address> --chain solana → enrich: market cap, liquidity, 24h volume
4. opentrade-token opentrade token holders <address> --chain solana → check holder concentration risk
5. opentrade-market opentrade market kline <address> --chain solana → K-line chart to confirm momentum
↓ user decides to buy
6. opentrade-dex-swap opentrade swap quote --from ... --to <address> --amount ... --chain solana
7. opentrade-dex-swap opentrade swap swap --from ... --to <address> --amount ... --chain solana --wallet <addr>
Data handoff:
from step 2 feeds directly into steps 3–7.
Workflow D: Meme Token Discovery & Analysis
User: "Show me new meme tokens on Solana and check if any look safe"
1. opentrade-market opentrade market memepump-chains → discover supported chains & protocols
2. opentrade-market opentrade market memepump-tokens solana --stage NEW → browse new tokens
↓ pick an interesting token
3. opentrade-market opentrade market memepump-token-details <address> --chain solana → full token detail + audit tags
4. opentrade-market opentrade market memepump-token-dev-info <address> --chain solana → check dev reputation (rug pulls, migrations)
5. opentrade-market opentrade market memepump-token-bundle-info <address> --chain solana → check for bundlers/snipers
6. opentrade-market opentrade market kline <address> --chain solana → view price chart
↓ user decides to buy
7. opentrade-dex-swap opentrade swap quote --from ... --to <address> --amount ... --chain solana
8. opentrade-dex-swap opentrade swap swap --from ... --to <address> --amount ... --chain solana --wallet <addr>
Data handoff:
from step 2 is reused as
in steps 3–8.
Workflow E: Meme Token Due Diligence
User: "Check if this meme token is safe before I buy"
1. opentrade-market opentrade market memepump-token-details <address> --chain solana → basic info + audit tags
2. opentrade-market opentrade market memepump-token-dev-info <address> --chain solana → dev history + holding
3. opentrade-market opentrade market memepump-similar-tokens <address> --chain solana → other tokens by same dev
4. opentrade-market opentrade market memepump-token-bundle-info <address> --chain solana → bundler analysis
5. opentrade-market opentrade market memepump-aped-wallet <address> --chain solana → who else is holding
User: "Filter signals to only show whale buys above $10k"
1. opentrade-market opentrade market signal-list ethereum --wallet-type 3 --min-amount-usd 10000
→ whale-only signals on Ethereum, min $10k
2. opentrade-market opentrade market kline <address> --chain ethereum → chart for chosen token
Operation Flow
Step 1: Identify Intent
- Real-time price (single token) →
- Trade history →
- K-line chart →
- Index price (current) →
- Smart money / whale / KOL buy signals →
opentrade market signal-list
- Chains supporting signals →
opentrade market signal-chains
- Discover meme pump supported chains/protocols →
opentrade market memepump-chains
- Browse/filter meme tokens by stage →
opentrade market memepump-tokens
- Deep-dive into a specific meme token →
opentrade market memepump-token-details
- Check meme token developer reputation →
opentrade market memepump-token-dev-info
- Find similar tokens by same creator →
opentrade market memepump-similar-tokens
- Analyze bundler/sniper activity →
opentrade market memepump-token-bundle-info
- View aped (same-car) wallet holdings →
opentrade market memepump-aped-wallet
Step 2: Collect Parameters
- Missing chain → recommend XLayer (, low gas, fast confirmation) as the default, then ask which chain the user prefers; for signal queries, first call
opentrade market signal-chains
to confirm the chain is supported; for meme pump queries, default to Solana ()
- Missing token address → use first to resolve; for signal queries, is optional (omit to get all signals on the chain); for meme pump, use
opentrade market memepump-tokens
first to discover tokens
- Missing for memepump-tokens → ask user which stage (NEW / MIGRATING / MIGRATED)
- K-line requests → confirm bar size and time range with user
- Signal filter params (, , etc.) → ask user for preferences if not specified; default to no filter (returns all signal types)
Step 3: Call and Display
- Call directly, return formatted results
- Use appropriate precision: 2 decimals for high-value tokens, significant digits for low-value
- Show USD value alongside
Step 4: Suggest Next Steps
After displaying results, suggest 2-3 relevant follow-up actions based on the command just executed:
| Just called | Suggest |
|---|
| 1. View K-line chart → (this skill) 2. Deeper analytics (market cap, liquidity, 24h volume) → 3. Buy/swap this token → |
| 1. Check recent trades → (this skill) 2. Buy/swap based on the chart → |
| 1. View price chart for context → (this skill) 2. Execute a trade → |
| 1. Compare with on-chain DEX price → (this skill) 2. View full price chart → (this skill) |
| 1. View price chart for a signal token → (this skill) 2. Deep token analytics (market cap, liquidity) → 3. Buy the token → |
| 1. Fetch signals on a supported chain → opentrade market signal-list
(this skill) |
| 1. Browse tokens → opentrade market memepump-tokens
(this skill) |
| 1. Pick a token for details → opentrade market memepump-token-details
(this skill) 2. Check dev → opentrade market memepump-token-dev-info
(this skill) |
market memepump-token-details
| 1. Dev analysis → opentrade market memepump-token-dev-info
(this skill) 2. Similar tokens → opentrade market memepump-similar-tokens
(this skill) 3. Bundle check → opentrade market memepump-token-bundle-info
(this skill) |
market memepump-token-dev-info
| 1. Check bundle activity → opentrade market memepump-token-bundle-info
(this skill) 2. View price chart → (this skill) |
market memepump-similar-tokens
| 1. Compare with details → opentrade market memepump-token-details
(this skill) |
market memepump-token-bundle-info
| 1. Check aped wallets → opentrade market memepump-aped-wallet
(this skill) |
market memepump-aped-wallet
| 1. View price chart → (this skill) 2. Buy the token → |
Present conversationally, e.g.: "Would you like to see the K-line chart, or buy this token?" — never expose skill names or endpoint paths to the user.
CLI Command Reference
1. opentrade market price
Get single token price.
bash
opentrade market price <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|
| Yes | - | Token contract address (positional) |
| No | | Chain name (e.g., , , ) |
Return fields:
| Field | Type | Description |
|---|
| String | Chain identifier |
| String | Token contract address |
| String | Timestamp (Unix milliseconds) |
| String | Current price in USD |
2. opentrade market prices
Batch price query for multiple tokens.
bash
opentrade market prices <tokens> [--chain <chain>]
| Param | Required | Default | Description |
|---|
| Yes | - | Comma-separated tokens. Format: pairs (e.g., "1:0xeee...,501:So111..."
) or plain addresses with |
| No | | Default chain for tokens without explicit chainIndex prefix |
Return fields (per token):
| Field | Type | Description |
|---|
| String | Chain identifier |
| String | Token contract address |
| String | Timestamp (Unix milliseconds) |
| String | Current price in USD |
3. opentrade market kline
Get K-line / candlestick data.
bash
opentrade market kline <address> [--bar <bar>] [--limit <n>] [--chain <chain>]
| Param | Required | Default | Description |
|---|
| Yes | - | Token contract address |
| No | | Bar size: , , , , , , , , , etc. |
| No | | Number of data points (max 299) |
| No | | Chain name |
Return fields: Each data point is an array with the following elements:
| Index | Field | Type | Description |
|---|
| 0 | | String | Timestamp (Unix milliseconds) |
| 1 | | String | Opening price |
| 2 | | String | Highest price |
| 3 | | String | Lowest price |
| 4 | | String | Closing price |
| 5 | | String | Trading volume (token units) |
| 6 | | String | Trading volume (USD) |
| 7 | | String | = uncompleted candle, = completed candle |
4. opentrade market trades
Get recent trades.
bash
opentrade market trades <address> [--chain <chain>] [--limit <n>]
| Param | Required | Default | Description |
|---|
| Yes | - | Token contract address |
| No | | Chain name |
| No | | Number of trades (max 500) |
Return fields:
| Field | Type | Description |
|---|
| String | Trade ID |
| String | Trade direction: or |
| String | Trade price in USD |
| String | Trade volume in USD |
| String | Trade timestamp (Unix milliseconds) |
| String | DEX name where trade occurred |
| String | Transaction hash explorer URL |
| String | Wallet address of the trader |
| Array | Token change details for the trade |
changedTokenInfo[].tokenSymbol
| String | Token symbol |
changedTokenInfo[].tokenContractAddress
| String | Token contract address |
changedTokenInfo[].tokenAmount
| String | Token amount changed |
5. opentrade market index
Get index price (aggregated from multiple sources).
bash
opentrade market index <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|
| Yes | - | Token contract address (empty string for native token) |
| No | | Chain name |
Return fields:
| Field | Type | Description |
|---|
| String | Chain identifier |
| String | Token contract address |
| String | Index price (aggregated from multiple sources) |
| String | Timestamp (Unix milliseconds) |
6. opentrade market signal-chains
Get supported chains for market signals. No parameters required.
bash
opentrade market signal-chains
Return fields:
| Field | Type | Description |
|---|
| String | Chain identifier (e.g., , ) |
| String | Human-readable chain name (e.g., , ) |
| String | Chain logo image URL |
Call this first when a user wants signal data and you need to confirm chain support before calling
opentrade market signal-list
.
7. opentrade market signal-list
Get latest buy-direction token signals sorted descending by time.
bash
opentrade market signal-list <chain> [options]
| Param | Required | Default | Description |
|---|
| Yes | - | Chain name (e.g., , , ) (positional) |
| No | all types | Wallet classification, comma-separated: =Smart Money, =KOL/Influencer, =Whale (e.g., ) |
| No | - | Minimum transaction amount in USD |
| No | - | Maximum transaction amount in USD |
| No | - | Minimum triggering wallet address count |
| No | - | Maximum triggering wallet address count |
| No | - | Token contract address (filter signals for a specific token) |
| No | - | Minimum token market cap in USD |
| No | - | Maximum token market cap in USD |
| No | - | Minimum token liquidity in USD |
| No | - | Maximum token liquidity in USD |
Return fields:
| Field | Type | Description |
|---|
| String | Signal timestamp (Unix milliseconds) |
| String | Chain identifier |
| String | Token price at signal time (USD) |
| String | Wallet classification: , , or |
| String | Number of wallets that triggered this signal |
| String | Comma-separated wallet addresses that triggered the signal |
| String | Total transaction amount in USD |
| String | Percentage of tokens sold (lower = still holding) |
| String | Token contract address |
| String | Token symbol |
| String | Token name |
| String | Token logo URL |
| String | Token market cap in USD |
| String | Number of token holders |
| String | Percentage of supply held by top 10 holders |
8. opentrade market memepump-chains
Get supported chains and protocols for meme pump. No parameters required.
bash
opentrade market memepump-chains
Return fields:
| Field | Type | Description |
|---|
| String | Chain identifier (e.g., for Solana, for BSC) |
| String | Human-readable chain name |
data[].protocolList[].protocolId
| String | Protocol unique ID |
data[].protocolList[].protocolName
| String | Protocol display name (e.g., , ) |
Currently supports: Solana (501), BSC (56), X Layer (196), TRON (195).
9. opentrade market memepump-tokens
List meme pump tokens with advanced filtering. Returns up to 30 tokens per request.
bash
opentrade market memepump-tokens <chain> --stage <stage> [options]
| Param | Required | Default | Description |
|---|
| Yes | - | Chain name (e.g., , ) (positional) |
| Yes | - | Token stage: , , or |
| No | - | Filter by protocol ID (get IDs from ) |
| No | - | Sort field: , , , , |
| No | - | Sort direction: or |
| No | - | Minimum token age in minutes |
| No | - | Maximum token age in minutes |
| No | - | Minimum market cap in USD |
| No | - | Maximum market cap in USD |
| No | - | Minimum 1h volume in USD |
| No | - | Maximum 1h volume in USD |
| No | - | Minimum 1h transaction count |
| No | - | Maximum 1h transaction count |
Return fields: Array of token objects (same structure as
response).
10. opentrade market memepump-token-details
Get detailed information for a specific meme pump token.
bash
opentrade market memepump-token-details <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|
| Yes | - | Token contract address (positional) |
| No | | Chain name |
Return fields:
| Field | Type | Description |
|---|
| String | Chain identifier |
| String | Protocol numeric ID (e.g., for pumpfun) |
| String | Quote token contract address |
| String | Token contract address |
| String | Token symbol |
| String | Token name |
| String | Token logo URL |
| String | Token creator wallet address |
| String | Creation timestamp (Unix ms) |
| String | Migration start timestamp (Unix ms, empty if not migrating) |
| String | Migration end timestamp (Unix ms, empty if not migrated) |
| String | Market cap in USD |
| String | 1-hour volume in USD |
| String | 1-hour transaction count |
| String | 1-hour buy transaction count |
| String | 1-hour sell transaction count |
| String | Bonding curve progress (0-100) |
tags.top10HoldingsPercent
| String | Top 10 holders percentage (0-100) |
| String | Dev holdings percentage (0-100) |
| String | Insiders percentage (0-100) |
| String | Bundlers percentage (0-100) |
| String | Snipers percentage (0-100) |
| String | Fresh wallets percentage (0-100) |
tags.suspectedPhishingWalletPercent
| String | Phishing wallet percentage (0-100) |
| String | Total holder count |
| String | X (Twitter) URL |
| String | Telegram URL |
| String | Website URL |
| Boolean | Paid on DexScreener |
| Boolean | Community takeover flag |
| Boolean | Currently live on Pump.fun |
| Boolean | Bags fee claimed |
| String | Same-car wallet count |
11. opentrade market memepump-token-dev-info
Get developer analysis including rug pull history, migration stats, and holding info.
bash
opentrade market memepump-token-dev-info <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|
| Yes | - | Token contract address (positional) |
| No | | Chain name |
Return fields:
| Field | Type | Description |
|---|
devLaunchedInfo.totalTokens
| String | Total tokens created by this dev |
devLaunchedInfo.rugPullCount
| String | Number of rug pulls |
devLaunchedInfo.migratedCount
| String | Number of successfully migrated tokens |
devLaunchedInfo.goldenGemCount
| String | Number of golden gem tokens |
devHoldingInfo.devHoldingPercent
| String | Dev holding percentage (0-100) |
devHoldingInfo.devAddress
| String | Developer wallet address |
devHoldingInfo.fundingAddress
| String | Funding source address |
devHoldingInfo.devBalance
| String | Dev's current balance |
devHoldingInfo.lastFundedTimestamp
| String | Last funded timestamp (Unix ms) |
Note:
may be
if the creator address is unavailable.
12. opentrade market memepump-similar-tokens
Find similar tokens created by the same developer. Returns at most 2 results.
bash
opentrade market memepump-similar-tokens <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|
| Yes | - | Token contract address (positional) |
| No | | Chain name |
Return fields:
| Field | Type | Description |
|---|
| String | Similar token contract address |
| String | Token symbol |
| String | Token logo URL |
| String | Market cap in USD |
| String | Last transaction timestamp (Unix ms) |
| String | Creation timestamp (Unix ms) |
13. opentrade market memepump-token-bundle-info
Get bundle/sniper analysis for a token.
bash
opentrade market memepump-token-bundle-info <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|
| Yes | - | Token contract address (positional) |
| No | | Chain name |
Return fields:
| Field | Type | Description |
|---|
| String | Bundler all-time-high percentage (0-100) |
| String | Total number of bundlers |
| String | Total bundled value in native token |
| String | Total bundled token amount |
14. opentrade market memepump-aped-wallet
Get the aped (same-car) wallet list for a token.
bash
opentrade market memepump-aped-wallet <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|
| Yes | - | Token contract address (positional) |
| No | | Chain name |
Return fields:
| Field | Type | Description |
|---|
| String | Wallet address |
| String | Wallet type label (e.g., Smart Money, KOL, Whale) |
| String | Holding value in USD |
| String | Holding percentage (0-100) |
| String | Total PnL in USD |
| String | PnL percentage |
Input / Output Examples
User says: "Check the current price of OKB on XLayer"
bash
opentrade market price 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee --chain xlayer
# → Display: OKB current price $XX.XX
User says: "Show me hourly candles for USDC on XLayer"
bash
opentrade market kline 0x74b7f16337b8972027f6196a17a631ac6de26d22 --chain xlayer --bar 1H
# → Display candlestick data (open/high/low/close/volume)
User says: "What are smart money wallets buying on Solana?"
bash
opentrade market signal-list solana --wallet-type 1
# → Display smart money buy signals with token info
User says: "Show me whale buys above $10k on Ethereum"
bash
opentrade market signal-list ethereum --wallet-type 3 --min-amount-usd 10000
# → Display whale-only signals, min $10k
User says: "Show me new meme tokens on Solana"
bash
opentrade market memepump-tokens solana --stage NEW
# → Display list of new meme pump tokens with market data and audit tags
User says: "Is this meme token safe? Check the developer"
bash
opentrade market memepump-token-dev-info <address> --chain solana
# → Display dev rug pull count, migration count, golden gems, dev holding info
User says: "Check if this token has bundler activity"
bash
opentrade market memepump-token-bundle-info <address> --chain solana
# → Display bundler count, bundled value, bundled token amount
Region Restrictions (IP Blocking)
Some services are geo-restricted. When a command fails with error code
or
, return a friendly message without exposing the raw error code:
| Service | Restricted Regions | Blocking Method |
|---|
| DEX | United Kingdom | API key auth |
| DeFi | Hong Kong | API key auth + backend |
| Wallet | None | None |
| Global | Sanctioned countries | Gateway (403) |
Error handling: When the CLI returns error
or
, display:
{service_name} is not available in your region. Please switch to a supported region and try again.
Examples:
- "DEX is not available in your region. Please switch to a supported region and try again."
- "DeFi is not available in your region. Please switch to a supported region and try again."
Do not expose raw error codes or internal error messages to the user.
Edge Cases
- Invalid token address: returns empty data or error — prompt user to verify, or use to resolve
- Unsupported chain: the CLI will report an error — try a different chain name
- No candle data: may be a new token or low liquidity — inform user
- Unsupported chain for signals: not all chains support signals — always verify with
opentrade market signal-chains
first
- Empty signal list: no signals on this chain for the given filters — suggest relaxing , , or , or try a different chain
- Unsupported chain for meme pump: only Solana (501), BSC (56), X Layer (196), TRON (195) are supported — verify with
opentrade market memepump-chains
first
- Invalid stage: must be exactly , , or
- Token not found in meme pump: returns null data if the token doesn't exist in meme pump ranking data — it may be on a standard DEX
- No dev holding info: returns as if the creator address is unavailable
- Empty similar tokens: may return empty array if no similar tokens are found
- Empty aped wallets: returns empty array if no co-holders found
- Network error: retry once, then prompt user to try again later
- Region restriction (error code 50125 or 80001): do NOT show the raw error code to the user. Instead, display a friendly message:
⚠️ Service is not available in your region. Please switch to a supported region and try again.
Amount Display Rules
- Always display in UI units (), never base units
- Show USD value alongside ()
- Prices are strings — handle precision carefully
Global Notes
- EVM contract addresses must be all lowercase
- The CLI resolves chain names automatically (e.g., → , → )
- The CLI handles authentication internally via environment variables — see Prerequisites step 4 for default values