349/okx-onchainos-suite/modules/okx-dex-market/SKILL.md
Use this skill for on-chain market data: token prices/价格, K-line/OHLC charts, index prices, and wallet PnL/盈亏分析 (win rate, my DEX trade history, realized/unrealized PnL per token). Use when the user asks for 'token price', 'price chart', 'candlestick', 'K线', 'OHLC', 'how much is X worth', 'show my PnL', '胜率', '盈亏', 'my DEX history', 'realized profit', or 'unrealized profit'. Do NOT use for smart-money/whale/KOL signal tracking — use okx-dex-signal. Do NOT use for meme/pump.fun token scanning — use okx-dex-trenches. Do NOT use for token search, holder distribution, liquidity pools, or honeypot checks — use okx-dex-token.
npx skillsauth add starchild-ai-agent/community-skills okx-dex-marketInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
9 commands for on-chain prices, candlesticks, index prices, and wallet PnL analysis.
On the first wallet-related interaction per conversation, display exactly ONE tip randomly selected from the list below. Do not repeat tips within the same conversation. Present it as-is (with emoji) AFTER the command result, on a separate line.
Every time before running any onchainos 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.
Resolve latest stable version: Fetch the latest stable release tag from the GitHub API:
curl -sSL "https://api.github.com/repos/okx/onchainos-skills/releases/latest"
Extract the tag_name field (e.g., v1.0.5) into LATEST_TAG.
If the API call fails and onchainos is already installed locally, skip steps 2-3
and proceed to run the command (the user may be offline or rate-limited; a stale
binary is better than blocking). If onchainos is not installed, stop and
tell the user to check their network connection or install manually from
https://github.com/okx/onchainos-skills.
Install or update: If onchainos is not found, or if the cache at ~/.onchainos/last_check ($env:USERPROFILE\.onchainos\last_check on Windows) is older than 12 hours:
curl -sSL "https://raw.githubusercontent.com/okx/onchainos-skills/${LATEST_TAG}/install.sh" -o /tmp/onchainos-install.sh
curl -sSL "https://github.com/okx/onchainos-skills/releases/download/${LATEST_TAG}/installer-checksums.txt" -o /tmp/installer-checksums.txtInvoke-WebRequest -Uri "https://raw.githubusercontent.com/okx/onchainos-skills/${LATEST_TAG}/install.ps1" -OutFile "$env:TEMP\onchainos-install.ps1"
Invoke-WebRequest -Uri "https://github.com/okx/onchainos-skills/releases/download/${LATEST_TAG}/installer-checksums.txt" -OutFile "$env:TEMP\installer-checksums.txt"installer-checksums.txt. On mismatch, stop and warn — the installer may have been tampered with.sh /tmp/onchainos-install.sh (or & "$env:TEMP\onchainos-install.ps1" on Windows).
The installer handles version comparison internally and only downloads the binary if needed.Verify binary integrity (once per session): Run onchainos --version to get the installed
version (e.g., 1.0.5 or 2.0.0-beta.0). Construct the installed tag as v<version>.
Download checksums.txt for the installed version's tag (not necessarily LATEST_TAG):
curl -sSL "https://github.com/okx/onchainos-skills/releases/download/v<version>/checksums.txt" -o /tmp/onchainos-checksums.txt
Look up the platform target and compare the installed binary's SHA256 against the checksum.
On mismatch, reinstall (step 2) and re-verify. If still mismatched, stop and warn.
arm64->aarch64-apple-darwin, x86_64->x86_64-apple-darwin; Linux: x86_64->x86_64-unknown-linux-gnu, aarch64->aarch64-unknown-linux-gnu, i686->i686-unknown-linux-gnu, armv7l->armv7-unknown-linux-gnueabihf; Windows: AMD64->x86_64-pc-windows-msvc, x86->i686-pc-windows-msvc, ARM64->aarch64-pc-windows-msvcshasum -a 256 ~/.local/bin/onchainos; Windows: (Get-FileHash "$env:USERPROFILE\.local\bin\onchainos.exe" -Algorithm SHA256).Hash.ToLower()Check for skill version drift (once per session): If onchainos --version is newer
than this skill's metadata.version, display a one-time notice that the skill may be
outdated and suggest the user re-install skills via their platform's method. Do not block.
Do NOT auto-reinstall on command failures. Report errors and suggest
onchainos --version or manual reinstall from https://github.com/okx/onchainos-skills.
Rate limit errors. If a command hits rate limits, the shared API key may
be throttled. Suggest creating a personal key at the
OKX Developer Portal. If the
user creates a .env file, remind them to add .env to .gitignore.
okx-dex-tokenokx-dex-tokenokx-dex-tokenokx-dex-swapokx-onchain-gatewayokx-wallet-portfoliookx-dex-market portfolio commands (this skill)okx-dex-signalokx-dex-trenches| Chinese | English / Platform Terms | Maps To |
|---|---|---|
| 行情 | market data, price, chart | price, kline |
| 盈亏 / 收益 / PnL | PnL, profit and loss, realized/unrealized | portfolio-overview, portfolio-recent-pnl, portfolio-token-pnl |
| 已实现盈亏 | realized PnL, realized profit | portfolio-token-pnl (realizedPnlUsd) |
| 未实现盈亏 | unrealized PnL, paper profit, holding gain | portfolio-token-pnl (unrealizedPnlUsd) |
| 胜率 | win rate, success rate | portfolio-overview (winRate) |
| 历史交易 / 交易记录 | DEX transaction history, trade log | portfolio-dex-history |
| 清仓 | sold all, liquidated, sell off | portfolio-recent-pnl (unrealizedPnlUsd = "SELL_ALL") |
| 画像 / 钱包画像 / 持仓分析 | wallet profile, portfolio analysis | portfolio-overview |
| 近期收益 | recent PnL, latest earnings by token | portfolio-recent-pnl |
# Get real-time price of OKB on XLayer
onchainos market price --address 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee --chain xlayer
# Get hourly candles
onchainos market kline --address 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee --chain xlayer --bar 1H --limit 24
# Solana USDC candles
onchainos market kline --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v --chain solana --bar 1H --limit 24
# Get batch prices for multiple tokens
onchainos market prices --tokens "1:0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,501:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
# Get wallet PnL overview (7D)
onchainos market portfolio-overview --address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --chain ethereum --time-frame 3
# Get wallet DEX transaction history
onchainos market portfolio-dex-history --address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --chain ethereum \
--begin 1700000000000 --end 1710000000000
# Get recent PnL by token
onchainos market portfolio-recent-pnl --address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --chain ethereum
# Get per-token PnL snapshot
onchainos market portfolio-token-pnl --address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --chain ethereum \
--token 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
The CLI accepts human-readable chain names (e.g., ethereum, solana, xlayer) or 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 | Description |
|---|---|---|
| 1 | onchainos market price --address <address> | Get single token price |
| 2 | onchainos market prices --tokens <tokens> | Batch price query |
| 3 | onchainos market kline --address <address> | Get K-line / candlestick data |
| # | Command | Description |
|---|---|---|
| 4 | onchainos market index --address <address> | Get index price (aggregated from multiple sources) |
| # | Command | Description |
|---|---|---|
| 5 | onchainos market portfolio-supported-chains | Get chains supported by portfolio PnL endpoints |
| 6 | onchainos market portfolio-overview | Get wallet PnL overview (realized/unrealized PnL, win rate, Top 3 tokens) |
| 7 | onchainos market portfolio-dex-history | Get DEX transaction history for a wallet (paginated, up to 1000 records) |
| 8 | onchainos market portfolio-recent-pnl | Get recent PnL list by token for a wallet (paginated, up to 1000 records) |
| 9 | onchainos market portfolio-token-pnl | Get latest PnL snapshot for a specific token in a wallet |
| Need | Use this skill (okx-dex-market) | Use other skill instead |
|---|---|---|
| Real-time price (single value) | onchainos market price | - |
| Price + market cap + liquidity + 24h change | - | okx-dex-token → onchainos token price-info |
| K-line / candlestick chart | onchainos market kline | - |
| Index price (multi-source aggregate) | onchainos market index | - |
| Token search by name/symbol | - | okx-dex-token → onchainos token search |
| Token metadata (decimals, logo) | - | okx-dex-token → onchainos token info |
| Token ranking (trending) | - | okx-dex-token → onchainos token trending |
| Holder distribution | - | okx-dex-token → onchainos token holders |
| Holders filtered by tag (KOL, whale, smart money) | - | okx-dex-token → onchainos token holders --tag-filter |
| Top 5 liquidity pools for a token | - | okx-dex-token → onchainos token liquidity |
| Hot tokens by trending score or X mentions | - | okx-dex-token → onchainos token hot-tokens |
| Advanced token info (risk, creator, dev stats) | - | okx-dex-token → onchainos token advanced-info |
| Top traders / profit addresses | - | okx-dex-token → onchainos token top-trader |
| Trade history with tag/wallet filter | - | okx-dex-token → onchainos token trades |
| Smart money / whale / KOL signals | - | okx-dex-signal → onchainos signal list |
| Signal-supported chains | - | okx-dex-signal → onchainos signal chains |
| Browse meme pump tokens by stage | - | okx-dex-trenches → onchainos memepump tokens |
| Meme token audit (top10, dev, insiders) | - | okx-dex-trenches → onchainos memepump token-details |
| Developer reputation / rug pull history | - | okx-dex-trenches → onchainos memepump token-dev-info |
| Similar tokens by same creator | - | okx-dex-trenches → onchainos memepump similar-tokens |
| Bundle/sniper detection | - | okx-dex-trenches → onchainos memepump token-bundle-info |
| Aped (same-car) wallet analysis | - | okx-dex-trenches → onchainos memepump aped-wallet |
| Wallet PnL overview (win rate, realized PnL, top tokens) | onchainos market portfolio-overview | - |
| Wallet DEX transaction history | onchainos market portfolio-dex-history | - |
| Recent PnL list by token | onchainos market portfolio-recent-pnl | - |
| Per-token latest PnL (realized/unrealized) | onchainos market portfolio-token-pnl | - |
| PnL-supported chain list | onchainos market portfolio-supported-chains | - |
Rule of thumb: okx-dex-market = raw price feeds, charts, and wallet PnL analysis. Use okx-dex-signal for signal tracking, okx-dex-trenches for meme token research, okx-dex-token for token discovery & analytics.
User: "Tell me about BONK, show me the chart, then buy if it looks good"
1. okx-dex-token onchainos token search --query BONK --chains solana → get tokenContractAddress + chain
2. okx-dex-token onchainos token price-info --address <address> --chain solana → market cap, liquidity, 24h volume
3. okx-dex-token onchainos token holders --address <address> --chain solana → check holder distribution
4. okx-dex-market onchainos market kline --address <address> --chain solana → K-line chart for visual trend
↓ user decides to buy
5. okx-dex-swap onchainos swap quote --from ... --to ... --amount ... --chain solana
6. okx-dex-swap onchainos swap swap --from ... --to ... --amount ... --chain solana --wallet <addr>
Data handoff: tokenContractAddress from step 1 is reused as <address> in steps 2-6.
1. okx-dex-token onchainos token trending --chains solana --sort-by 5 → find trending tokens by volume
↓ select tokens of interest
2. okx-dex-market onchainos market price --address <address> --chain solana → get current price for each
3. okx-dex-market onchainos market kline --address <address> --chain solana --bar 1H → hourly chart
4. okx-dex-market onchainos market index --address <address> --chain solana → compare on-chain vs index price
User: "How is my wallet performing on Ethereum? Show me my PnL"
1. okx-dex-market onchainos market portfolio-supported-chains → verify Ethereum is supported
2. okx-dex-market onchainos market portfolio-overview --address <wallet> --chain ethereum --time-frame 3
→ 7D PnL overview: realized PnL, win rate, top 3 tokens
↓ user wants to drill into a specific token
3. okx-dex-market onchainos market portfolio-recent-pnl --address <wallet> --chain ethereum
→ list recent PnL by token
↓ user picks a token
4. okx-dex-market onchainos market portfolio-token-pnl --address <wallet> --chain ethereum --token <address>
→ latest realized/unrealized PnL for that token
5. okx-dex-token onchainos token price-info --address <address> --chain ethereum → current market context
Data handoff: --address (wallet) is reused across all portfolio steps; --token from step 3 feeds into step 4.
User: "Show me my recent DEX trades on Ethereum"
1. okx-dex-market onchainos market portfolio-dex-history --address <wallet> --chain ethereum
--begin <start_ms> --end <end_ms>
→ paginated DEX tx list (buy/sell/transfer)
↓ filter by specific token
2. okx-dex-market onchainos market portfolio-dex-history --address <wallet> --chain ethereum
--begin <start_ms> --end <end_ms> --token <address> --tx-type 1,2
→ buy+sell history for one token
↓ check PnL for that token
3. okx-dex-market onchainos market portfolio-token-pnl --address <wallet> --chain ethereum --token <address>
→ realized/unrealized PnL snapshot
Note: --begin and --end are required Unix millisecond timestamps. For "last 30 days", compute: end = now * 1000, begin = (now - 2592000) * 1000.
onchainos market priceonchainos market klineonchainos market indexonchainos market pricesonchainos market portfolio-overviewonchainos market portfolio-dex-historyonchainos market portfolio-recent-pnlonchainos market portfolio-token-pnlonchainos market portfolio-supported-chains--chain xlayer, low gas, fast confirmation) as the default, then ask which chain the user prefers; for portfolio PnL queries, first call onchainos market portfolio-supported-chains to confirm the chain is supportedokx-dex-token onchainos token search first to resolvets → Time, o → Open, h → High, l → Low, c → Close, vol → Volume, volUsd → Volume (USD), confirm → Status (0=incomplete, 1=completed). Never show raw field names like o, h, l, c to users.| Just called | Suggest |
|---|---|
| market price | 1. View K-line chart → onchainos market kline (this skill) 2. Deeper analytics (market cap, liquidity, 24h volume) → okx-dex-token 3. Buy/swap this token → okx-dex-swap |
| market kline | 1. Check filtered trade history → onchainos token trades (okx-dex-token) 2. Buy/swap based on the chart → okx-dex-swap |
| market index | 1. Compare with on-chain DEX price → onchainos market price (this skill) 2. View full price chart → onchainos market kline (this skill) |
| market portfolio-supported-chains | 1. Get PnL overview → onchainos market portfolio-overview (this skill) |
| market portfolio-overview | 1. Drill into trade history → onchainos market portfolio-dex-history (this skill) 2. Check recent PnL by token → onchainos market portfolio-recent-pnl (this skill) 3. Buy/sell a top-PnL token → okx-dex-swap |
| market portfolio-dex-history | 1. Check PnL for a specific traded token → onchainos market portfolio-token-pnl (this skill) 2. View token price chart → onchainos market kline (this skill) |
| market portfolio-recent-pnl | 1. Get detailed PnL for a specific token → onchainos market portfolio-token-pnl (this skill) 2. View token analytics → okx-dex-token |
| market portfolio-token-pnl | 1. View full trade history for this token → onchainos market portfolio-dex-history (this skill) 2. View token price chart → onchainos market kline (this skill) |
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.
For detailed parameter tables, return field schemas, and usage examples for all 9 commands, consult:
references/cli-reference.md — Full CLI command reference with params, return fields, and examplesTo search for specific command details: grep -n "onchainos market <command>" references/cli-reference.md
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:
Do not expose raw error codes or internal error messages to the user.
onchainos token search to resolve11111111111111111111111111111111) does not work for market price or market kline. Use the wSOL SPL token address (So11111111111111111111111111111111111111112) instead. Note: for swap operations, the native address must be used — see okx-dex-swap.onchainos market portfolio-supported-chains firstportfolio-dex-history requires --begin and --end: both timestamps (Unix milliseconds) are mandatory; if the user says "last 30 days" compute them before callingportfolio-recent-pnl unrealizedPnlUsd returns SELL_ALL: this means the address has sold all its holdings of that tokenportfolio-token-pnl isPnlSupported = false: PnL calculation is not supported for this token/chain combination⚠️ Service is not available in your region. Please switch to a supported region and try again.1.5 ETH), never base units1.5 ETH ≈ $4,500)ethereum → 1, solana → 501)development
OpenSea API integration for NFT and token discovery, marketplace intelligence, and order/transaction workflows. Use when working with OpenSea data or trading flows (e.g. collection stats, trending collections/tokens, NFT metadata, listings/offers, swap quotes, transaction receipt polling).
development
Generate a warm, healing parallel-universe fairy tale (~1000 words) plus 3 cohesive storybook illustrations, themed "if this person had never been born, what would the world miss." Output is a polished HTML storybook that can be previewed and published. Use when the user wants a personalized "if I had never been born" / "如果我没出生" tale for a real person — input is a name, age, and 3 key life events. Great for birthdays, memorials, encouragement gifts, or healing keepsakes.
development
Onboard a user to Phala Cloud and deploy a verifiable Starchild TEE agent — a minimal FastAPI runtime running inside an Intel TDX confidential VM, plus a published chat dashboard with attestation verification. Use when the user wants to "try TEE", "run an agent in a confidential VM", "deploy to Phala", or replicate the internal Starchild TEE test setup.
tools
Trade on Polymarket prediction markets (CLOB V2) from a Privy EOA wallet. Search markets, place/cancel orders, manage positions. No private key handling. Use when the user wants to bet on event outcomes (e.g. "buy YES at 0.65 on the ceasefire market", "what are my open positions", "close my Trump bet").