okx-cex-market
Use this skill when the user asks for: price of any asset, ticker, order book, candles, OHLCV, funding rate, open interest, OI change scanner, market screener (top movers, high-volume, newly listed), mark price, index price, recent trades, instrument list, stock tokens, metals prices (gold, XAU, XAG), commodities (oil, OIL), forex rates (EUR/USD, EURUSDT), bond instruments, non-crypto assets, or any technical indicator query (RSI, MACD, EMA, Bollinger Bands, KDJ, SuperTrend, AHR999, BTC rainbow, and 70+ more). All commands are read-only and do NOT require API credentials. Do NOT use for account balance/positions (okx-cex-portfolio), placing/cancelling orders (okx-cex-trade), or bots (okx-cex-bot). Do NOT use when the user wants to TRADE a directional view as an event contract — that is okx-cex-trade. Merely ASKING which way an asset's price is moving is a market-data question and belongs here.
Resumen
OKX CEX Market Data CLI
Compliance notice: This skill provides raw market data only. No strategy, recommendation, or optimization logic is embedded. All indicator outputs are objective numerical values; interpretation and trading decisions remain solely with the user.
Public market data for OKX: prices, order books, candles, funding rates, open interest, instrument info, and technical indicators. All commands are read-only and require no API credentials.
Skill routing
- Market data / indicators →
okx-cex-market(this skill) - Account balance / positions →
okx-cex-portfolio - Place / cancel orders →
okx-cex-trade - Trading a directional view as an event contract →
okx-cex-trade - Market sentiment / most bullish-bearish coins →
okx-sentiment-tracker - Grid / DCA bots →
okx-cex-bot
Preflight
Before running any command, follow ../_shared/preflight.md. Use metadata.version from this file's frontmatter as the reference for Step 2.
Install
npm install -g @okx_ai/okx-trade-cli
okx market ticker BTC-USDT # verifyMarket data commands return the same public data regardless of demo/live mode — no API credentials required. If the user's profile has demo=true set and they want live data context, they can use --live to confirm they are in live mode (it has no effect on public market data but clarifies environment). Always inform the user which environment is active (demo or live) when it is relevant to their query. No confirmation needed before running any market command. Add --json to any command for raw OKX API v5 response. Add --env to wrap the output as {"env", "profile", "data"}.
Command Index
| # | Command | Description |
|---|---|---|
| 1 | okx market ticker <instId> | Last price, 24h high/low/vol/change% |
| 2 | okx market tickers <instType> | All tickers for SPOT / SWAP / FUTURES / OPTION |
| 3 | okx market instruments --instType <type> [--instId <id>] [--uly <uly>] [--instFamily <fam>] [--seriesId <id>] | List instruments (instId, ctVal, lotSz, minSz, tickSz, state); OPTION requires --uly or --instFamily; EVENTS requires --seriesId |
| 4 | okx market orderbook <instId> [--sz <n>] | Order book asks/bids (default top 5 per side, max 400) |
| 5 | okx market candles <instId> [--bar <bar>] [--limit <n>] [--after <ts>] [--before <ts>] | OHLCV candles (default --bar 1m); auto-routes to historical endpoint for data back to 2021; --after paginates back in time, --before paginates forward |
| 6 | okx market index-candles <instId> [--bar <bar>] [--limit <n>] [--history] | Index OHLCV (use BTC-USD not BTC-USDT) |
| 7 | okx market funding-rate <instId> [--history] [--limit <n>] | Current or historical funding rate (SWAP only) |
| 8 | okx market trades <instId> [--limit <n>] | Recent public trades |
| 9 | okx market mark-price --instType <type> [--instId <id>] | Mark price (SWAP / FUTURES / OPTION) |
| 10 | okx market index-ticker [--instId <id>] [--quoteCcy <ccy>] | Index price (e.g., BTC-USD) |
| 11 | okx market price-limit <instId> | Upper/lower price limits (SWAP / FUTURES only) |
| 12 | okx market open-interest --instType <type> [--instId <id>] | Open interest in contracts and base currency |
| 13 | okx market instruments-by-category --instCategory <3|4|5|6|7> | Discover instruments by asset category: 3=Stock tokens (AAPL/TSLA), 4=Metals (gold/silver), 5=Commodities (oil/gas), 6=Forex (EUR/USD), 7=Bonds |
| 13† | okx market stock-tokens | Deprecated — use instruments-by-category --instCategory 3 instead |
| 14 | okx market filter --instType <SPOT|SWAP|FUTURES> [--sortBy <field>] [--sortOrder <asc|desc>] [--limit <n>] [--baseCcy <ccy>] [--quoteCcy <ccy>] [--settleCcy <ccy>] [--instFamily <fam>] [--ctType <linear|inverse>] [--minLast <n>] [--maxLast <n>] [--minChg24hPct <n>] [--maxChg24hPct <n>] [--minMarketCapUsd <n>] [--maxMarketCapUsd <n>] [--minVolUsd24h <n>] [--maxVolUsd24h <n>] [--minFundingRate <n>] [--maxFundingRate <n>] [--minOiUsd <n>] [--maxOiUsd <n>] | Screen / rank instruments by multi-dimensional criteria (price, volume, OI, funding rate, market cap). Prints Total: N + a ranked table of matching instruments (No results only when nothing matches). Add --json for the raw OKX API v5 response (structurally unchanged). |
| 15 | okx market oi-history <instId> [--bar <5m|15m|1H|4H|1D>] [--limit <n>] [--ts <ms>] | OI history time series with bar-over-bar delta for a single instrument |
| 16 | okx market oi-change --instType <SWAP|FUTURES> [--bar <5m|15m|1H|4H|1D>] [--sortBy <field>] [--sortOrder <asc|desc>] [--limit <n>] [--minOiUsd <n>] [--minVolUsd24h <n>] [--minAbsOiDeltaPct <n>] | Find instruments with largest OI changes (accumulation/distribution scanner) |
| 17 | okx market indicator list | List all supported indicator names and descriptions |
| 18 | okx market indicator <indicator> <instId> [--bar] [--params] [--list] [--limit] [--backtest-time] | Technical indicator values. For period-based indicators (ema/ma/wma/rsi/macd/bb/…) the CLI applies a sensible default period when --params is omitted (e.g. EMA/RSI → 14, MACD → 12,26,9, BB → 20,2) so values render without you specifying params; explicit --params always wins. If no values come back, the CLI prints a visible hint (try --params …) — never silent. |
| 19 | okx market pair-spread <instIdA> <instIdB> [--bar <5m|15m>] [--window <window>] [--backtest-time <ms>] | Spread statistics (abs + ratio: mean/stdDev/median/min/max) over a lookback window; supports backtest mode |
Operation Flow
Step 1 — Identify data type and load reference
| User intent | Reference to load |
|---|---|
| Price, candles, order book, recent trades | {baseDir}/references/price-data-commands.md |
| Technical indicators (RSI, MACD, EMA, BB, KDJ, SuperTrend, AHR999, Rainbow, etc.) | {baseDir}/references/indicator-commands.md |
| Funding rate, mark price, open interest, price limit, index ticker | {baseDir}/references/derivatives-commands.md |
| Screen / rank instruments; find top movers, high-OI, high-volume contracts | Use okx market filter directly |
| OI history time series for a single instrument | Use okx market oi-history directly |
| OI change scanner; find contracts with large OI shifts | Use okx market oi-change directly |
| Pair spread statistics; mean-reversion / pairs-trade sizing | Use okx market pair-spread directly |
| List instruments, discover stock tokens, metals/commodities/forex/bonds, find option instIds | {baseDir}/references/instrument-commands.md |
| Multi-step or cross-skill workflows; MCP tool names | {baseDir}/references/workflows.md |
Event contracts are not served by this skill.
| User asks | Do |
|---|---|
| Which way an asset is moving — "is BTC going up", "what's the 15m trend" | Answer here with candles / indicators |
| Direction and whether they can trade it | Answer the data half here, then name okx-cex-trade for the trade half |
| To trade an event contract — "buy YES/NO on …" | Route to okx-cex-trade, serve nothing here |
Never substitute another product for an event contract — not a perp, not a futures position, not market data presented as the contract they asked for. If you cannot load okx-cex-trade, say so and stop.
Step 2 — Run commands immediately
All market data commands are read-only — no confirmation needed.
Step 3 — No writes, no verification needed
All commands in this skill are read-only.
Edge Cases
- instId format: SPOT
BTC-USDT· SWAPBTC-USDT-SWAP· FUTURESBTC-USDT-250328· OPTIONBTC-USD-250328-95000-C· IndexBTC-USD· Stock tokenTSLA-USDT-SWAP· Metals/Commodities/Forex/Bonds: useinstruments-by-categoryto discover valid instIds first - OPTION listing:
instruments --instType OPTIONrequires--uly BTC-USDor--instFamily BTC-USD; if unknown, runopen-interest --instType OPTIONfirst to discover active instIds - EVENTS listing:
instruments --instType EVENTSrequires--seriesId(e.g.--seriesId BTC-ABOVE-DAILY); runokx event seriesfirst to discover valid series IDs - funding-rate / price-limit: SWAP only · mark-price: SWAP / FUTURES / OPTION only
- candles
--bar: uppercase —1Hnot1h; use--after <ts>to paginate back into historical data (back to 2021); index-candles supports--historyfor extended history - ⚠️ Large historical range: before fetching with
--after/--before, estimate candle count =time_range_ms / bar_interval_ms. If estimate > 500, tell the user the estimated count and ask for confirmation before proceeding. This prevents silently filling the context window. - indicator
--bar: uses1Dutcnot1D,1Wutcnot1W— different from candle bar values market filtersortBy values:lastchg24hPctmarketCapUsdvolUsd24hfundingRateoiUsdlistTime— defaultvolUsd24hmarket filterctType:linearorinverse(SWAP/FUTURES only); omit for SPOTmarket filterquoteCcy: comma-separated list supported, e.g.--quoteCcy USDT,USDCmarket filterSPOT + quoteCcy: when--instType SPOT, the API returns instruments across all quote currencies (USDT, USDC, BTC, ETH, etc.) mixed together — this pollutes sort order and bloats results. Always pass--quoteCcy USDTby default unless the user explicitly asks for other quote currencies.market filterchg24hPct: value is a percentage number —--minChg24hPct -5means -5%,--maxChg24hPct 10means 10%market oi-historyts: Unix ms timestamp; returns bars with ts ≤ this value for historical paginationmarket oi-history/oi-changebar: valid values5m15m1H4H1D— default1H. Server accepts case variants (1h==1H) but prefer canonical casing.market oi-historylimit: 1–500 (default 50)market oi-changeinstType: onlySWAPorFUTURESsupported (not SPOT)market oi-changeminAbsOiDeltaPct: filters by absolute OI change —1.0keeps only rows where |oiDeltaPct| ≥ 1%market oi-changesortBy values:oiUsdoiDeltaUsdoiDeltaPctabsOiDeltaPctvolUsd24hfundingRatelast— defaultoiDeltaPct(signed). UseabsOiDeltaPctto rank by |oiDeltaPct| (largest magnitude regardless of direction).market oi-changelimit: 1–100 (default 20). For deeper than 100 rows, fetchoi-historyper instId.- indicator
--barvalid values:3m5m15m1H4H12Hutc1Dutc3Dutc1Wutc—1mis not supported for indicators (usecandlesfor 1-minute data) - indicator
--limit: 1–100 (only used withreturnList, i.e. when a historical series is requested) - indicator arg order: indicator name before instId —
okx market indicator rsi BTC-USDT - indicator
--params: comma-separated, no spaces —--params 5,20. For period-based indicators (ema/ma/wma/rsi/macd/bb/…) omitting--paramsmakes the CLI substitute a default period (EMA/MA/WMA/RSI →14, MACD →12,26,9, BB →20,2) so the table is populated instead of empty; pass--paramsexplicitly to override the default. (CLI-only convenience — the MCPmarket_get_indicatorraw-data path still requires an explicitparamList.) - indicator no values returned: the CLI never prints nothing — if a query yields no values (e.g. a non-period indicator, or a period indicator with no default), it prints a visible hint:
No indicator values returned. This indicator may require a period — try --params (e.g. --params 14). - BTC-only indicators:
ahr999,rainbow— BTC-USDT only - Unknown indicator name: returns a
ValidationErrorwith similar-name suggestions before the API is called — usemarket_list_indicators/okx market indicator listto see all valid names - Stock token hours: US stocks trade Mon–Fri ~09:30–16:00 ET; verify live price before acting
- No data returned: instrument may be delisted — verify with
okx market instruments bollis an alias forbb
Global Notes
- No API key required for any command in this skill
- Rate limit: 20 req / 2 s per IP
- Candle data is sorted newest-first
vol24his in base currency (e.g., BTC for BTC-USDT)--demo/--liveand--profiledo not affect market data results via CLI (public endpoints); they only determine the active trading environment context
Archivos 6 archivos
Instálala a mano
Deska ejecuta esto por ti, para cada agente que elijas. Para ejecutarlo tú en una terminal:
npx skills add okx/agent-skills --skill okx-cex-marketMás de okx
- okx-dex-marketokxQuery read-only DEX token, market, signal, social, trenches, and WebSocket data. Use for token search, rankings, liquidity, holders, risk metadata, clusters, and trades; prices, K-lines/OHLC, indexes, and wallet PnL; smart-money/KOL/whale signals; news, sentiment, and token vibe; meme-launch, developer, bundle/sniper, and co-investor research; or DEX WebSocket clients. Triggers include hot tokens, holder concentration, smart money, top-trader leaderboards, pump.fun research, new token launches, on-chain token scanning, bundled or sniper activity, and WebSocket.18.4 k instalaciones en skills.sh0
- okx-agentic-walletokxOperate OKX Onchain OS wallets and execute or inspect on-chain transactions. Use for wallet login/status/accounts/addresses/balances/holdings; receive/send/transfer; swaps, bridges, limit orders, contract calls, gas estimation, simulation, broadcast, and tracking; Bitcoin UTXO/BRC-20/inscriptions; signing, approvals, wallet policy/export, public-address portfolios, security checks, and audit logs.16.7 k instalaciones en skills.sh0
- okx-dapp-discoveryokxDiscover supported third-party DApps and route protocol-specific requests to OKX plugins without signing or broadcasting. Use for DApp discovery or comparison; a named protocol's operations or analytics; Polymarket/UpDown prediction markets, bets, and positions; protocol-native actions involving HYPE/HLP, stETH/wstETH, CAKE, CRV, COMP, RAY, GHO, or PT/YT; pump.fun writes; and unsupported-DApp alternatives. Supported DApp names include Aave, Hyperliquid, PancakeSwap, Morpho, Raydium, Curve, Compound, Pendle, Lido, ether.fi, GMX, Kamino, Orca, Meteora, Clanker, and pump.fun. Requests to find, buy, or subscribe to a signal or signal service are OKX.AI marketplace workflows, even when they name Polymarket or another DApp.13.8 k instalaciones en skills.sh0
- okx-agent-payments-protocolokxHandle agent payments and paid endpoints via x402, MPP, payment links, a2a-pay, and HTTP-payment recurring or metered billing. Use for HTTP 402/payment-required; paid Agent or A2MCP endpoints; x402/Permit2; MPP channels, vouchers, or sessions; HTTP-payment subscriptions; or paymentId/link operations or status. Trigger phrases: x402/x402Version, X-PAYMENT, PAYMENT-REQUIRED, PAYMENT-SIGNATURE, WWW-Authenticate: Payment, x402 exact/exact+Permit2/upto/aggr_deferred, MPP charge/session, channelId/channel_id, payment-channel voucher/topup/settle/refund, metered billing, paymentId, a2a_, payment link, A2MCP, paid endpoint, and HTTP 402 period/permit2_subscription.13 k instalaciones en skills.sh0
- okx-cex-tradeokxUse when the user asks to 'buy BTC', 'sell ETH', 'place a limit order', 'place a market order', 'cancel my order', 'amend my order', 'long BTC perp', 'short ETH swap', 'open a position', 'close a position', 'set take profit', 'limit take profit', 'immediate TP', 'set stop loss', 'self-trade prevention', 'stpMode', 'auto-cancel on close', 'trailing stop', 'pending order', 'chase order', 'iceberg', 'TWAP', 'split order', 'large order', 'set leverage', 'check my orders', 'fill history', 'buy a call', 'sell a put', 'option chain', 'implied volatility', 'IV', 'Greeks', 'delta', 'gamma', 'event contract', 'buy Yes', 'buy No', 'buy Up', 'buy Down', 'prediction market', or any request to place, cancel, or amend spot, swap, futures, options, or event contract orders on OKX CEX. Covers conditional (TP/SL/trailing) algo orders. Requires API credentials. Do NOT use for market data (okx-cex-market), account balance (okx-cex-portfolio), or bots (okx-cex-bot).10 k instalaciones en skills.sh0