Native OKX grid and DCA trading bot management with server-side execution.
Works with
Create and manage spot grid bots (price range, grid count, investment amount) and contract grid bots (long/short/neutral with leverage) — both run entirely on OKX servers
Contract DCA (Dollar Cost Averaging / Martingale) bots with configurable safety orders, price steps, volume multipliers, take-profit, and stop-loss
Monitor active bots, retrieve P&L, view individual fills and cycles, and stop bots with c
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionokx-cex-botExecute the skills CLI command in your project's root directory to begin installation:
Fetches okx-cex-bot from okx/agent-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate okx-cex-bot. Access via /okx-cex-bot in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
0
total installs
0
this week
49
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
49
stars
Grid and DCA (Spot & Contract Martingale) bot management on OKX. All bots are native OKX server-side — they run on OKX and do not require a local process.
Before running any command, follow ../_shared/preflight.md.
Use metadata.version from this file's frontmatter as the reference for Step 2.
npm install -g @okx_ai/okx-trade-cli
Check credentials, then set up if missing:
okx config show # shows configured profiles (api_key shows last 4 chars)
okx config init # interactive wizard if not configured
Security: NEVER accept API credentials in chat. Guide users to
okx config initor edit~/.okx/config.tomldirectly.
Run before every authenticated command.
okx config show
If no configuration → stop, guide user to okx config init, wait for completion.
--profile |
Mode | Funds |
|---|---|---|
live |
实盘 | Real money |
demo |
模拟盘 | Simulated, safe for testing |
Resolution:
live; "test"/"模拟"/"demo" → demo) → use it, inform userAfter every command: append [profile: live] or [profile: demo]
Stop immediately. Guide user to update ~/.okx/config.toml with their editor. Verify with okx config show before retrying.
| Need | Skill |
|---|---|
| Market data, prices, depth | okx-cex-market |
| Account balance, positions, fees | okx-cex-portfolio |
| Regular spot/swap/futures orders | okx-cex-trade |
| Grid / DCA bots | okx-cex-bot (this skill) |
| Command | Type | Description |
|---|---|---|
okx bot grid create |
WRITE | Create a grid bot (spot or contract) |
okx bot grid stop |
WRITE | Stop a grid bot |
okx bot grid orders |
READ | List active or history grid bots |
okx bot grid details |
READ | Grid bot details + PnL |
okx bot grid sub-orders |
READ | Individual grid fills or pending orders |
| Command | Type | Description |
|---|---|---|
okx bot dca create |
WRITE | Create a DCA (Martingale) bot (spot or contract) |
okx bot dca stop |
WRITE | Stop a DCA bot (spot or contract) |
okx bot dca orders |
READ | List active or history DCA bots (default: contract_dca) |
okx bot dca details |
READ | DCA bot details + PnL |
okx bot dca sub-orders |
READ | DCA cycles and orders within a cycle |
Parse user request → determine module (Grid / DCA) and action (create / stop / list / details).
READ commands (orders, details, sub-orders): run immediately after profile confirmation.
WRITE commands (create, stop): confirm key parameters with user once before executing.
orders command to confirm activeorders --history to confirm stoppedalgoId is the bot's algo order ID (from create or list output). It is NOT a normal ordId. Never fabricate — always obtain from a prior command.algoOrdType for grid must match the bot's actual type. Always use the value from bot grid orders — do not infer from user description alone. Mismatch causes error 50016.tpTriggerPx/tpRatio and slTriggerPx/slRatio are mutually exclusive pairs.okx bot grid create --instId <id> --algoOrdType <type> \
--maxPx <px> --minPx <px> --gridNum <n> \
[--runType <1|2>] \
[--quoteSz <n>] [--baseSz <n>] \
[--direction <long|short|neutral>] [--lever <n>] [--sz <n>] \
[--basePos] [--no-basePos] \
[--tpTriggerPx <px>] [--slTriggerPx <px>] [--tpRatio <ratio>] [--slRatio <ratio>] \
[--algoClOrdId <id>] [--json]
| Param | Required | Default | Description |
|---|---|---|---|
--instId |
Yes | - | Instrument (e.g., BTC-USDT for spot, BTC-USDT-SWAP for USDT-M contract, BTC-USD-SWAP for coin-M contract) |
--algoOrdType |
Yes | - | grid (spot grid) or contract_grid (contract grid, including coin-margined) |
--maxPx |
Yes | - | Upper price boundary |
--minPx |
Yes | - | Lower price boundary |
--gridNum |
Yes | - | Grid levels (2–100) |
--runType |
No | 1 |
1=arithmetic spacing, 2=geometric spacing |
--quoteSz |
Cond. | - | USDT investment — spot grid only (provide quoteSz or baseSz) |
--baseSz |
Cond. | - | Base currency investment — spot grid only |
--direction |
Cond. | - | long, short, or neutral — required for contract grid |
--lever |
Cond. | - | Leverage (e.g., 5) — contract grid only |
--sz |
Cond. | - | Investment margin in USDT (USDT-M) or coin (coin-M) — contract grid only |
--basePos / --no-basePos |
No | true |
Open a base position at creation — contract grid only (ignored for neutral). Use --no-basePos to disable |
--tpTriggerPx |
No | - | Take-profit trigger price (mutually exclusive with --tpRatio) |
--slTriggerPx |
No | - | Stop-loss trigger price (mutually exclusive with --slRatio) |
--tpRatio |
No | - | Take-profit ratio — contract grid only (mutually exclusive with --tpTriggerPx) |
--slRatio |
No | - | Stop-loss ratio — contract grid only (mutually exclusive with --slTriggerPx) |
--algoClOrdId |
No | - | Client-defined algo order ID (1-32 alphanumeric). Unique per user, enables idempotent creation |
okx bot grid stop --algoId <id> --algoOrdType <type> --instId <id> \
[--stopType <1|2|3|5|6>] [--json]
--algoIdand--algoOrdTypemust come frombot grid ordersoutput. ThealgoOrdTypemust match the bot's actual type — do not guess.
--stopType |
Behavior |
|---|---|
1 |
Stop + sell/close all positions at market (default) |
2 |
Stop + keep current assets as-is |
3 |
Stop + close at limit prices |
5 |
Stop + partial close |
6 |
Stop without selling (smart arbitrage) |
okx bot grid orders --algoOrdType <type> [--instId <id>] [--algoId <id>] [--history] [--json]
| Param | Required | Default | Description |
|---|---|---|---|
--algoOrdType |
Yes | - | grid (spot), contract_grid (contract), or moon_grid (moon) |
--instId |
No | - | Filter by instrument |
--algoId |
No | - | Filter by algo order ID. NOT a normal trade order ID |
--history |
No | false | Show completed/stopped bots instead of active |
okx bot grid details --algoOrdType <type> --algoId <id> [--json]
Returns: bot config, current PnL (pnlRatio), grid range, number of grids, state, position info.
okx bot grid sub-orders --algoOrdType <type> --algoId <id> [--live] [--json]
| Flag | Effect |
|---|---|
| (default) | Filled sub-orders (executed grid trades) |
--live |
Pending grid orders currently on the book |
okx bot dca create --algoOrdType <spot_dca|contract_dca> --instId <id> --direction <long|short> \
--initOrdAmt <n> --maxSafetyOrds <n> --tpPct <ratio> \
[--lever <n>] [--safetyOrdAmt <n>] [--pxSteps <ratio>] [--pxStepsMult <mult>] [--volMult <mult>] \
[--slPct <ratio>] [--slMode <limit|market>] [--allowReinvest] \
[--triggerStrategy <instant|price|rsi>] [--triggerPx <price>] \
[--triggerCond <cross_up|cross_down>] [--thold <threshold>] [--timeframe <timeframe>] [--timePeriod <period>] \
[--algoClOrdId <id>] [--reserveFunds <true|false>] [--tradeQuoteCcy <ccy>] [--json]
| Param | Required | Default | Description |
|---|---|---|---|
--algoOrdType |
Yes | - | spot_dca (Spot DCA) or contract_dca (Contract DCA) |
--instId |
Yes | - | Instrument (e.g., BTC-USDT for spot, BTC-USDT-SWAP for contract) |
--lever |
Cond. | - | Leverage multiplier (e.g., 3). Required for contract_dca |
--direction |
Yes | - | long or short. spot_dca must be long |
--initOrdAmt |
Yes | - | Initial order amount (quote currency) |
--maxSafetyOrds |
Yes | - | Max safety orders, integer [0, 100] (e.g., 3; 0 = no DCA) |
--safetyOrdAmt |
Cond. | - | Safety order amount (quote currency). Required when maxSafetyOrds > 0 |
-- |