okx/agent-skillsMIT1 file

Okx Cex Portfolio

This skill should be used when the user asks about 'account balance', 'how much USDT do I have', 'my funding account', 'show my positions', 'open positions', 'position P&L', 'unrealized PnL', 'closed positions', 'position history', 'realized PnL', 'account bills', 'transaction history', 'trading fees', 'fee tier', 'account config', 'max order size', 'how much can I buy', 'withdrawable amount', 'transfer funds', 'move USDT to trading account', or 'switch position mode'. Also use for '总资产', 'full balance', 'all assets', 'total holdings', 'net worth', 'how much do I have in total', 'show all my balances', 'all account balances', 'asset overview', 'aggregated balance', 'asset snapshot', '资产快照'. Requires API credentials. Do NOT use for market prices (use okx-cex-market), placing/cancelling orders (use okx-cex-trade), or grid/DCA bots (use okx-cex-bot).

Specification
Skill ID
okx/agent-skills/okx-cex-portfolio
Publisher
okx
Repository
agent-skills
Installs
0
Files
1
License
MIT
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

okx/agent-skills/okx-cex-portfolioInstalls these files
  • SKILL.md

What this skill tells the agent

OKX CEX Portfolio & Account CLI

Account balance, positions, P&L, bills, fees, and fund transfers on OKX exchange. Requires API credentials.

Preflight

Before running any command, follow `../_shared/preflight.md`. Use metadata.version from this file's frontmatter as the reference for Step 2.

Prerequisites

  1. Install okx CLI: ``bash npm install -g @okx_ai/okx-trade-cli ``
  2. Configure credentials: ``bash okx config init # select site -> follow browser OAuth flow ``
  3. Test with demo mode (simulated trading, no real funds): ``bash okx --demo account balance ``
Security: NEVER accept credentials in chat. Guide users to okx config init for setup.

Credential & Profile Check

Run this check before any authenticated command. The auth method is detected during preflight Step 2 and remembered for the session.

Step A — Verify credentials

Check both sources (see preflight Step 2 for the decision table). okx auth status --json alone is insufficient — its apiKey field is always false and does NOT reflect the TOML config.

okx config show --json      # authoritative for API-key presence
okx auth status --json      # authoritative for OAuth session state

Branch in this order — first match wins:

  • config show has any profile with a non-empty api_key — API Key mode. Proceed to Step B.
  • No API-key profile AND auth status returns "status": "logged_in" — OAuth mode. Proceed to Step B.
  • No API-key profile AND auth status returns "status": "pending" — login in progress, wait.
  • No API-key profile AND auth status returns "status": "not_logged_in" — stop all operations, load okx-cex-auth skill and follow login steps, wait for completion.

Step B — Confirm trading mode

Resolution rules:

  1. Current message intent is clear (e.g. "real" / "实盘" / "live" → live; "test" / "模拟" / "demo" → demo) → use it and inform the user
  2. Current message has no explicit declaration → check conversation context for a previous choice:
  • Found → reuse it, inform user
  • Not found → ask: "Live (实盘) or Demo (模拟盘)?" — wait for answer before proceeding

How to apply the mode depends on auth method (detected in Step A):

Auth methodLive (实盘)Demo (模拟盘)
API Key--profile <live-profile>--profile <demo-profile>
OAuth(no flag needed, live is default)--demo
  • API Key users: run okx config show --json to discover available profile names and their demo settings. Use --profile <name> to select the correct one.
  • OAuth users: omit flags for live trading; add --demo for simulated trading. Do not use --profile to switch modes.

Handling Authentication Errors

Authentication error (error contains "401", "Session expired", or "Run okx auth login first"):

  1. Stop immediately — do not retry the same command
  2. Inform the user: "Authentication failed. Your session may have expired."
  3. Load okx-cex-auth skill and follow the re-authentication steps
  4. After successful re-authentication, retry the original command

Demo vs Live Mode

ModeFundsAPI Key paramOAuth param
实盘 (live)Real funds--profile <live-profile>(default, no flag)
模拟盘 (demo)Simulated funds--profile <demo-profile>--demo
# API Key user
okx --profile okx-prod  account balance     # 实盘
okx --profile okx-demo  account balance     # 模拟盘

# OAuth user
okx account balance                          # 实盘 (default)
okx --demo account balance                   # 模拟盘

Rules:

  • Read commands (balance, positions, bills, etc.): always state which mode was used
  • Write commands (transfer, set-position-mode): mode must be confirmed before execution (see "Credential & Profile Check" Step B); transfer especially — wrong mode means wrong account
  • Every response after a command must append: [mode: live] or [mode: demo]

Skill Routing

  • For market data (prices, charts, depth, funding rates) → use okx-cex-market
  • For account balance, P&L, positions, fees, transfers → use okx-cex-portfolio (this skill)
  • For regular spot/swap/futures/algo orders → use okx-cex-trade
  • For grid and DCA trading bots → use okx-cex-bot

Quickstart

# One-shot full asset snapshot (recommended first command)
okx account balance-all
okx account balance-all --no-valuation
okx account balance-all --valuationCcy BTC

# Trading account balance (all currencies with balance > 0)
okx account balance

# Check USDT balance only
okx account balance USDT

# Funding account balance
okx account asset-balance

# All open positions, every product
okx account positions

# Positions for one product only — always narrow when the user named a product
okx account positions --instType SWAP     # SWAP | FUTURES | OPTION | MARGIN | EVENTS

# Closed position history with realized PnL
okx account positions-history

# Recent account bills (last 100)
okx account bills

# My trading fee tier
okx account fees --instType SPOT

# Transfer 100 USDT from funding (6) to trading (18)
okx account transfer --ccy USDT --amt 100 --from 6 --to 18

Command Index

Read Commands

#CommandTypeDescription
1okx account balance-all [ccy]READOne-shot snapshot: trading + funding (+ valuation) in one call
2okx account balance [ccy]READTrading account equity, available, frozen
3aokx account asset-balance [ccy]READFunding account balance (per-currency list)
3bokx account asset-balance [ccy] --valuation [--valuationCcy <ccy>]READSame + total asset valuation across trading/funding/earn; denomination defaults to USDT, override with --valuationCcy BTC
4okx account positions [--instType <type>] [--instId <id>]READOpen contract/swap positions. When the user names a product ("my swap positions", "futures positions", "option positions"), pass --instType <type> (SWAP \FUTURES \OPTION \MARGIN \EVENTS) — or use that product's own command (okx swap positions, okx futures positions, okx option positions). Only omit the filter when the user genuinely wants everything: an unfiltered list is larger and leaves the product filtering to the model, which is where mistakes happen
5okx account positions-historyREADClosed positions + realized PnL
6okx account billsREADAccount ledger (deposits, withdrawals, trades)
7okx account fees --instType <type>READMy trading fee tier (maker/taker)
8okx account configREADAccount level, position mode, UID
9okx account max-size --instId <id> --tdMode <mode>READMax buy/sell size at current price
10okx account max-avail-size --instId <id> --tdMode <mode>READAvailable size for next order
11okx account max-withdrawal [ccy]READMax withdrawable per currency

Write Commands

#CommandTypeDescription
12okx account set-position-mode <mode>WRITESwitch net/hedge position mode
13okx account transferWRITETransfer funds between accounts

Cross-Skill Workflows

Pre-trade balance check

User: "I want to buy 0.1 BTC — do I have enough USDT?"
1. okx-cex-portfolio okx account balance-all                 → one-shot trading + funding + valuation snapshot
   → check trading.details (available in trading account)
   → if trading balance < needed: check funding.details — may need to transfer
2. okx-cex-market    okx market ticker BTC-USDT              → check current price
        ↓ user approves
3. okx-cex-trade     okx spot place --instId BTC-USDT --side buy --ordType market --sz 0.1

Pre-bot balance check

More from okx

Use this skill in a project

Open any RiverX project, search the Skills panel for okx/agent-skills/okx-cex-portfolio, and install it in one click.

Use this skill