opentrade-market
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 opentrade 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
which opentrade. If not found, install it:curl -sSL https://raw.githubusercontent.com/6551Team/openskills/main/skills/opentrade/install.sh | shIf the install script fails, ask the user to install manually following the instructions at: https://github.com/6551Team/openskills
-
Check for updates: Read
~/.opentrade/last_checkand compare it with the current timestamp:cached_ts=$(cat ~/.opentrade/last_check 2>/dev/null || true) now=$(date +%s)- If
cached_tsis 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:
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.curl -sSL https://raw.githubusercontent.com/6551Team/openskills/main/skills/opentrade/install.sh | sh
- If
-
If any
opentradecommand fails with an unexpected error during this session, try reinstalling before giving up: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.
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:
opentrade trade routers
Response format:
{
"data": [
{
"name": "okx test",
"router": "okx",
"version": "v1",
"quota_reward": 0,
"is_active": true,
"created_at": "2026-03-03 21:24:34",
"updated_at": "2026-03-03 21:24:34"
}
],
"success": true
}
Usage:
- Extract
routerandversionfrom the response - MANDATORY: ALL subsequent
opentradecommands in this session MUST include--trader <router>and--api <version>flags - Example:
opentrade market price 0x... --chain ethereum --trader okx --api v1 - Default fallback: If the API returns no data or is empty, use
--trader okx --api v1
Skill Routing
- For token search / metadata / rankings / holder analysis → use
opentrade-token - For swap execution → use
opentrade-dex-swap - For transaction broadcasting → use
opentrade-transaction - For wallet balances / portfolio → use
opentrade-portfolio - Signal data (smart money / whale / KOL buy signals, signal-supported chains) → use
opentrade-market - Meme pump scanning (token lists, dev info, bundle detection, aped wallets) → use
opentrade-market - Meme token safety (rug pull check, dev reputation, bundler/sniper analysis, similar tokens by same dev) → use
opentrade-market
Quickstart
# 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., ethereum, solana, xlayer) and resolves them automatically. You can also use --chain with numeric chain indices (e.g., 1, 501, 196).
| Chain | Name | chainIndex |
|---|---|---|
| XLayer | xlayer |
196 |
| Solana | solana |
501 |
| Ethereum | ethereum |
1 |
| Base | base |
8453 |
| BSC | bsc |
56 |
| Arbitrum | arbitrum |
42161 |
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 (opentrade-market) |
Use opentrade-token instead |
|---|---|---|
| Real-time price (single value) | opentrade market price |
- |
| Price + market cap + liquidity + 24h change | - | opentrade token price-info |
| K-line / candlestick chart | opentrade market kline |
- |
| Trade history (buy/sell log) | opentrade market trades |
- |
| Index price (multi-source aggregate) | opentrade market index |
- |
| Token search by name/symbol | - | opentrade token search |
| Token metadata (decimals, logo) | - | opentrade token info |
| Token ranking (toplist) | - | opentrade token toplist |
| Holder distribution | - | opentrade token holders |
| 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: opentrade-market = raw price feeds, charts, smart money signals & meme pump scanning (including dev reputation, rug pull checks, bundler analysis). opentrade-token = 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: tokenContractAddress from step 1 is reused as <address> 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: token.tokenAddress 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: tokenAddress from step 2 is reused as <address> 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) →
opentrade market price - Trade history →
opentrade market trades - K-line chart →
opentrade market kline - Index price (current) →
opentrade market index - 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 (
--chain xlayer, low gas, fast confirmation) as the default, then ask which chain the user prefers; for signal queries, first callopentrade market signal-chainsto confirm the chain is supported; for meme pump queries, default to Solana (--chain solana) - Missing token address → use
opentrade-tokenopentrade token searchfirst to resolve; for signal queries,--token-addressis optional (omit to get all signals on the chain); for meme pump, useopentrade market memepump-tokensfirst to discover tokens - Missing
--stagefor memepump-tokens → ask user which stage (NEW / MIGRATING / MIGRATED) - K-line requests → confirm bar size and time range with user
- Signal filter params (
--wallet-type,--min-amount-usd, 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 |
|---|---|
market price |
1. View K-line chart → opentrade market kline (this skill) 2. Deeper analytics (market cap, liquidity, 24h volume) → opentrade-token 3. Buy/swap this token → opentrade-dex-swap |
market kline |
1. Check recent trades → opentrade market trades (this skill) 2. Buy/swap based on the chart → opentrade-dex-swap |
market trades |
1. View price chart for context → opentrade market kline (this skill) 2. Execute a trade → opentrade-dex-swap |
market index |
1. Compare with on-chain DEX price → opentrade market price (this skill) 2. View full price chart → opentrade market kline (this skill) |
market signal-list |
1. View price chart for a signal token → opentrade market kline (this skill) 2. Deep token analytics (market cap, liquidity) → opentrade-token 3. Buy the token → opentrade-dex-swap |
market signal-chains |
1. Fetch signals on a supported chain → opentrade market signal-list (this skill) |
market memepump-chains |
1. Browse tokens → opentrade market memepump-tokens (this skill) |
market memepump-tokens |
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 → opentrade market kline (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 → opentrade market kline (this skill) 2. Buy the token → opentrade-dex-swap |
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.
opentrade market price <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|---|---|---|
<address> |
Yes | - | Token contract address (positional) |
--chain |
No | ethereum |
Chain name (e.g., ethereum, solana, xlayer) |
Return fields:
| Field | Type | Description |
|---|---|---|
chainIndex |
String | Chain identifier |
tokenContractAddress |
String | Token contract address |
time |
String | Timestamp (Unix milliseconds) |
price |
String | Current price in USD |
2. opentrade market prices
Batch price query for multiple tokens.
opentrade market prices <tokens> [--chain <chain>]
| Param | Required | Default | Description |
|---|---|---|---|
<tokens> |
Yes | - | Comma-separated tokens. Format: chainIndex:address pairs (e.g., "1:0xeee...,501:So111...") or plain addresses with --chain |
--chain |
No | ethereum |
Default chain for tokens without explicit chainIndex prefix |
Return fields (per token):
| Field | Type | Description |
|---|---|---|
chainIndex |
String | Chain identifier |
tokenContractAddress |
String | Token contract address |
time |
String | Timestamp (Unix milliseconds) |
price |
String | Current price in USD |
3. opentrade market kline
Get K-line / candlestick data.
opentrade market kline <address> [--bar <bar>] [--limit <n>] [--chain <chain>]
| Param | Required | Default | Description |
|---|---|---|---|
<address> |
Yes | - | Token contract address |
--bar |
No | 1H |
Bar size: 1s, 1m, 5m, 15m, 30m, 1H, 4H, 1D, 1W, etc. |
--limit |
No | 100 |
Number of data points (max 299) |
--chain |
No | ethereum |
Chain name |
Return fields: Each data point is an array with the following elements:
| Index | Field | Type | Description |
|---|---|---|---|
| 0 | ts |
String | Timestamp (Unix milliseconds) |
| 1 | open |
String | Opening price |
| 2 | high |
String | Highest price |
| 3 | low |
String | Lowest price |
| 4 | close |
String | Closing price |
| 5 | vol |
String | Trading volume (token units) |
| 6 | volUsd |
String | Trading volume (USD) |
| 7 | confirm |
String | "0" = uncompleted candle, "1" = completed candle |
4. opentrade market trades
Get recent trades.
opentrade market trades <address> [--chain <chain>] [--limit <n>]
| Param | Required | Default | Description |
|---|---|---|---|
<address> |
Yes | - | Token contract address |
--chain |
No | ethereum |
Chain name |
--limit |
No | 100 |
Number of trades (max 500) |
Return fields:
| Field | Type | Description |
|---|---|---|
id |
String | Trade ID |
type |
String | Trade direction: buy or sell |
price |
String | Trade price in USD |
volume |
String | Trade volume in USD |
time |
String | Trade timestamp (Unix milliseconds) |
dexName |
String | DEX name where trade occurred |
txHashUrl |
String | Transaction hash explorer URL |
userAddress |
String | Wallet address of the trader |
changedTokenInfo[] |
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).
opentrade market index <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|---|---|---|
<address> |
Yes | - | Token contract address (empty string "" for native token) |
--chain |
No | ethereum |
Chain name |
Return fields:
| Field | Type | Description |
|---|---|---|
chainIndex |
String | Chain identifier |
tokenContractAddress |
String | Token contract address |
price |
String | Index price (aggregated from multiple sources) |
time |
String | Timestamp (Unix milliseconds) |
6. opentrade market signal-chains
Get supported chains for market signals. No parameters required.
opentrade market signal-chains
Return fields:
| Field | Type | Description |
|---|---|---|
chainIndex |
String | Chain identifier (e.g., "1", "501") |
chainName |
String | Human-readable chain name (e.g., "Ethereum", "Solana") |
chainLogo |
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.
opentrade market signal-list <chain> [options]
| Param | Required | Default | Description |
|---|---|---|---|
<chain> |
Yes | - | Chain name (e.g., ethereum, solana, base) (positional) |
--wallet-type |
No | all types | Wallet classification, comma-separated: 1=Smart Money, 2=KOL/Influencer, 3=Whale (e.g., "1,2") |
--min-amount-usd |
No | - | Minimum transaction amount in USD |
--max-amount-usd |
No | - | Maximum transaction amount in USD |
--min-address-count |
No | - | Minimum triggering wallet address count |
--max-address-count |
No | - | Maximum triggering wallet address count |
--token-address |
No | - | Token contract address (filter signals for a specific token) |
--min-market-cap-usd |
No | - | Minimum token market cap in USD |
--max-market-cap-usd |
No | - | Maximum token market cap in USD |
--min-liquidity-usd |
No | - | Minimum token liquidity in USD |
--max-liquidity-usd |
No | - | Maximum token liquidity in USD |
Return fields:
| Field | Type | Description |
|---|---|---|
timestamp |
String | Signal timestamp (Unix milliseconds) |
chainIndex |
String | Chain identifier |
price |
String | Token price at signal time (USD) |
walletType |
String | Wallet classification: SMART_MONEY, WHALE, or INFLUENCER |
triggerWalletCount |
String | Number of wallets that triggered this signal |
triggerWalletAddress |
String | Comma-separated wallet addresses that triggered the signal |
amountUsd |
String | Total transaction amount in USD |
soldRatioPercent |
String | Percentage of tokens sold (lower = still holding) |
token.tokenAddress |
String | Token contract address |
token.symbol |
String | Token symbol |
token.name |
String | Token name |
token.logo |
String | Token logo URL |
token.marketCapUsd |
String | Token market cap in USD |
token.holders |
String | Number of token holders |
token.top10HolderPercent |
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.
opentrade market memepump-chains
Return fields:
| Field | Type | Description |
|---|---|---|
data[].chainIndex |
String | Chain identifier (e.g., "501" for Solana, "56" for BSC) |
data[].chainName |
String | Human-readable chain name |
data[].protocolList[].protocolId |
String | Protocol unique ID |
data[].protocolList[].protocolName |
String | Protocol display name (e.g., pumpfun, fourmeme) |
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.
opentrade market memepump-tokens <chain> --stage <stage> [options]
| Param | Required | Default | Description |
|---|---|---|---|
<chain> |
Yes | - | Chain name (e.g., solana, bsc) (positional) |
--stage |
Yes | - | Token stage: NEW, MIGRATING, or MIGRATED |
--protocol-id |
No | - | Filter by protocol ID (get IDs from memepump-chains) |
--sort-by |
No | - | Sort field: marketCap, volume1h, txCount1h, createdTimestamp, bondingPercent |
--sort-order |
No | - | Sort direction: asc or desc |
--min-age |
No | - | Minimum token age in minutes |
--max-age |
No | - | Maximum token age in minutes |
--min-market-cap |
No | - | Minimum market cap in USD |
--max-market-cap |
No | - | Maximum market cap in USD |
--min-volume |
No | - | Minimum 1h volume in USD |
--max-volume |
No | - | Maximum 1h volume in USD |
--min-tx-count |
No | - | Minimum 1h transaction count |
--max-tx-count |
No | - | Maximum 1h transaction count |
Return fields: Array of token objects (same structure as memepump-token-details response).
10. opentrade market memepump-token-details
Get detailed information for a specific meme pump token.
opentrade market memepump-token-details <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|---|---|---|
<address> |
Yes | - | Token contract address (positional) |
--chain |
No | solana |
Chain name |
Return fields:
| Field | Type | Description |
|---|---|---|
chainIndex |
String | Chain identifier |
protocolId |
String | Protocol numeric ID (e.g., "120596" for pumpfun) |
quoteTokenAddress |
String | Quote token contract address |
tokenAddress |
String | Token contract address |
symbol |
String | Token symbol |
name |
String | Token name |
logoUrl |
String | Token logo URL |
creatorAddress |
String | Token creator wallet address |
createdTimestamp |
String | Creation timestamp (Unix ms) |
migratedBeginTimestamp |
String | Migration start timestamp (Unix ms, empty if not migrating) |
migratedEndTimestamp |
String | Migration end timestamp (Unix ms, empty if not migrated) |
market.marketCapUsd |
String | Market cap in USD |
market.volumeUsd1h |
String | 1-hour volume in USD |
market.txCount1h |
String | 1-hour transaction count |
market.buyTxCount1h |
String | 1-hour buy transaction count |
market.sellTxCount1h |
String | 1-hour sell transaction count |
bondingPercent |
String | Bonding curve progress (0-100) |
tags.top10HoldingsPercent |
String | Top 10 holders percentage (0-100) |
tags.devHoldingsPercent |
String | Dev holdings percentage (0-100) |
tags.insidersPercent |
String | Insiders percentage (0-100) |
tags.bundlersPercent |
String | Bundlers percentage (0-100) |
tags.snipersPercent |
String | Snipers percentage (0-100) |
tags.freshWalletsPercent |
String | Fresh wallets percentage (0-100) |
tags.suspectedPhishingWalletPercent |
String | Phishing wallet percentage (0-100) |
tags.totalHolders |
String | Total holder count |
social.x |
String | X (Twitter) URL |
social.telegram |
String | Telegram URL |
social.website |
String | Website URL |
social.dexScreenerPaid |
Boolean | Paid on DexScreener |
social.communityTakeover |
Boolean | Community takeover flag |
social.liveOnPumpFun |
Boolean | Currently live on Pump.fun |
bagsFeeClaimed |
Boolean | Bags fee claimed |
aped |
String | Same-car wallet count |
11. opentrade market memepump-token-dev-info
Get developer analysis including rug pull history, migration stats, and holding info.
opentrade market memepump-token-dev-info <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|---|---|---|
<address> |
Yes | - | Token contract address (positional) |
--chain |
No | solana |
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:
devHoldingInfomay benullif the creator address is unavailable.
12. opentrade market memepump-similar-tokens
Find similar tokens created by the same developer. Returns at most 2 results.
opentrade market memepump-similar-tokens <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|---|---|---|
<address> |
Yes | - | Token contract address (positional) |
--chain |
No | solana |
Chain name |
Return fields:
| Field | Type | Description |
|---|---|---|
data[].tokenAddress |
String | Similar token contract address |
data[].tokenSymbol |
String | Token symbol |
data[].tokenLogo |
String | Token logo URL |
data[].marketCapUsd |
String | Market cap in USD |
data[].lastTxTimestamp |
String | Last transaction timestamp (Unix ms) |
data[].createdTimestamp |
String | Creation timestamp (Unix ms) |
13. opentrade market memepump-token-bundle-info
Get bundle/sniper analysis for a token.
opentrade market memepump-token-bundle-info <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|---|---|---|
<address> |
Yes | - | Token contract address (positional) |
--chain |
No | solana |
Chain name |
Return fields:
| Field | Type | Description |
|---|---|---|
bundlerAthPercent |
String | Bundler all-time-high percentage (0-100) |
totalBundlers |
String | Total number of bundlers |
bundledValueNative |
String | Total bundled value in native token |
bundledTokenAmount |
String | Total bundled token amount |
14. opentrade market memepump-aped-wallet
Get the aped (same-car) wallet list for a token.
opentrade market memepump-aped-wallet <address> [--chain <chain>]
| Param | Required | Default | Description |
|---|---|---|---|
<address> |
Yes | - | Token contract address (positional) |
--chain |
No | solana |
Chain name |
Return fields:
| Field | Type | Description |
|---|---|---|
data[].walletAddress |
String | Wallet address |
data[].walletType |
String | Wallet type label (e.g., Smart Money, KOL, Whale) |
data[].holdingUsd |
String | Holding value in USD |
data[].holdingPercent |
String | Holding percentage (0-100) |
data[].totalPnl |
String | Total PnL in USD |
data[].pnlPercent |
String | PnL percentage |
Input / Output Examples
User says: "Check the current price of OKB on XLayer"
opentrade market price 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee --chain xlayer
# → Display: OKB current price $XX.XX
User says: "Show me hourly candles for USDC on XLayer"
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?"
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"
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"
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"
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"
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 50125 or 80001, 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 50125 or 80001, 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
opentrade token searchto 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-chainsfirst - Empty signal list: no signals on this chain for the given filters — suggest relaxing
--wallet-type,--min-amount-usd, or--min-address-count, 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-chainsfirst - Invalid stage: must be exactly
NEW,MIGRATING, orMIGRATED - Token not found in meme pump:
memepump-token-detailsreturns null data if the token doesn't exist in meme pump ranking data — it may be on a standard DEX - No dev holding info:
memepump-token-dev-inforeturnsdevHoldingInfoasnullif the creator address is unavailable - Empty similar tokens:
memepump-similar-tokensmay return empty array if no similar tokens are found - Empty aped wallets:
memepump-aped-walletreturns 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 (
1.5 ETH), never base units - Show USD value alongside (
1.5 ETH ≈ $4,500) - Prices are strings — handle precision carefully
Global Notes
- EVM contract addresses must be all lowercase
- The CLI resolves chain names automatically (e.g.,
ethereum→1,solana→501) - The CLI handles authentication internally via environment variables — see Prerequisites step 4 for default values