@crypto-com/crypto-com-exchange
Crypto.com Exchange Spot request using the Crypto.com Exchange API. Authentication requires API key and secret key. Supports production and UAT sandbox.
| name | crypto-com-exchange |
| description | Trade on Crypto.com Exchange — market data, spot/derivatives orders, portfolio management, wallet operations. Uses cdcx CLI for execution with built-in auth, safety tiers, and dry-run. |
| metadata | kind: node |
| license | MIT |
Crypto.com Exchange Skill
Trade on Crypto.com Exchange using the cdcx CLI. Covers spot, derivatives, advanced orders, portfolio, and wallet operations.
Prerequisites
- Install:
npx @cryptocom/cdcx-cli@latestor see references/install.md - Authenticate: run
cdcx auth login --oauth— opens browser for OAuth, no manual key entry needed - Verify:
cdcx account summary -o json
If cdcx account summary fails with "No credentials found", immediately execute cdcx auth login --oauth via Bash (with ~120s timeout for browser callback).
Capabilities
| Domain | CLI Group | What It Does |
|---|---|---|
| Market Data | cdcx market |
Prices, orderbook, candles, trades, instruments — no auth needed |
| Order Execution | cdcx trade |
Place/amend/cancel LIMIT and MARKET orders |
| Advanced Orders | cdcx advanced |
OCO, OTO, OTOCO bracket orders with trigger logic |
| Portfolio | cdcx account |
Balances, positions, sub-accounts, P&L |
| History | cdcx history |
Order history, fills, transactions |
| Wallet | cdcx wallet |
Deposits, withdrawals, network info |
| Margin | cdcx margin |
Isolated margin transfers, leverage |
| Staking | cdcx staking |
Stake/unstake, conversion, reward history |
| Fiat | cdcx fiat |
Fiat deposit/withdrawal, bank accounts |
| Paper Trading | cdcx paper |
Local simulation with live prices, no auth |
| Streaming | cdcx stream |
Real-time WebSocket data (NDJSON) |
Safety Model
Every command has a safety tier. The CLI enforces these automatically:
| Tier | Behavior | Examples |
|---|---|---|
read |
Runs freely | cdcx market ticker, cdcx market book |
sensitive_read |
Runs freely (auth required) | cdcx account summary, cdcx trade open-orders |
mutate |
Requires --yes or MCP acknowledged=true |
cdcx trade order, cdcx trade amend |
dangerous |
Requires --allow-dangerous on MCP server |
cdcx trade cancel-all, cdcx wallet withdraw |
Always use --dry-run before live orders to preview the request.
Quick Start
Check Balance
cdcx account summary -o json
Get Market Price
cdcx market ticker BTC_USDT -o json
Place a Limit Order
# Preview first
cdcx trade order BUY BTC_USDT 0.01 --type LIMIT --price 50000 --dry-run -o json
# Execute
cdcx trade order BUY BTC_USDT 0.01 --type LIMIT --price 50000 --client-oid my-buy-001 -o json
Place a Market Order
cdcx trade order BUY BTC_USDT 0.01 --type MARKET -o json
Cancel an Order
cdcx trade cancel --order-id 123456789 -o json
cdcx trade cancel --client-oid my-buy-001 -o json
Amend an Order
cdcx trade amend --order-id 123456789 --new-price 51000 --new-quantity 0.01 -o json
Both --new-price and --new-quantity are required — re-submit the original value for the field you don't want to change.
Market Data (No Auth)
cdcx market ticker BTC_USDT -o json # Current price
cdcx market ticker -o json # All instruments
cdcx market book BTC_USDT --depth 10 -o json # Orderbook
cdcx market candlestick BTC_USDT --timeframe 1h --count 24 -o json # OHLCV
cdcx market trades BTC_USDT -o json # Recent prints
cdcx market instruments -o json # All tradable pairs + tick sizes
Supported timeframes: 1m, 5m, 15m, 30m, 1h, 4h, 6h, 12h, 1D, 7D, 14D, 1M
Streaming (real-time)
cdcx stream ticker BTC_USDT ETH_USDT # NDJSON to stdout
cdcx stream book BTC_USDT
cdcx stream trades BTC_USDT
Order Execution
Positional args: <side> <instrument> <quantity>. Side is BUY or SELL.
# Limit order
cdcx trade order BUY BTC_USDT 0.01 --type LIMIT --price 50000 -o json
# Market order (buy by notional)
cdcx trade order BUY BTC_USDT --type MARKET --notional 500 -o json
# Batch (up to 10)
cdcx trade order-list --order-list '[
{"instrument_name":"BTC_USDT","side":"BUY","type":"LIMIT","price":"49000","quantity":"0.01"},
{"instrument_name":"BTC_USDT","side":"BUY","type":"LIMIT","price":"48000","quantity":"0.01"}
]' -o json
# List open orders
cdcx trade open-orders BTC_USDT -o json
# Close a position
cdcx trade close-position BTCUSD-PERP --type MARKET -o json
Order Options
| Flag | Purpose |
|---|---|
--type |
LIMIT or MARKET |
--price |
Limit price (string) |
--notional |
Spend amount in quote currency (MARKET BUY) |
--client-oid |
Your correlation ID (max 36 chars) |
--time-in-force |
GOOD_TILL_CANCEL, FILL_OR_KILL, IMMEDIATE_OR_CANCEL |
--exec-inst |
POST_ONLY, SMART_POST_ONLY, REDUCE_ONLY, ISOLATED_MARGIN |
--dry-run |
Preview without executing |
Advanced Orders (OCO / OTO / OTOCO)
OTOCO Bracket (entry + stop-loss + take-profit)
cdcx advanced create-otoco '[
{"instrument_name":"BTC_USDT","side":"BUY","type":"LIMIT","price":"50000","quantity":"0.01"},
{"instrument_name":"BTC_USDT","side":"SELL","type":"STOP_LOSS","trigger_price":"48000","quantity":"0.01","ref_price_type":"MARK_PRICE"},
{"instrument_name":"BTC_USDT","side":"SELL","type":"TAKE_PROFIT","trigger_price":"55000","quantity":"0.01","ref_price_type":"MARK_PRICE"}
]' --dry-run -o json
OTO (entry + protection)
cdcx advanced create-oto '[
{"instrument_name":"BTC_USDT","side":"BUY","type":"LIMIT","price":"50000","quantity":"0.01"},
{"instrument_name":"BTC_USDT","side":"SELL","type":"STOP_LOSS","trigger_price":"48000","quantity":"0.01","ref_price_type":"MARK_PRICE"}
]' -o json
OCO (two-sided exit for existing position)
cdcx advanced oco '[
{"instrument_name":"BTC_USDT","side":"SELL","type":"LIMIT","price":"55000","quantity":"0.01"},
{"instrument_name":"BTC_USDT","side":"SELL","type":"STOP_LOSS","trigger_price":"48000","quantity":"0.01","ref_price_type":"MARK_PRICE"}
]' -o json
Single Trigger Order
cdcx advanced order BTCUSD-PERP --side SELL --type STOP_LOSS --quantity 0.01 --trigger-price 48000 --ref-price-type MARK_PRICE -o json
Manage Advanced Orders
cdcx advanced open-orders BTC_USDT -o json
cdcx advanced order-detail --order-id <id> -o json
cdcx advanced cancel-otoco --list-id <list_id> -o json
cdcx advanced cancel-oco --list-id <list_id> -o json
cdcx advanced cancel-oto --list-id <list_id> -o json
Portfolio & Account
cdcx account summary -o json # Cash balances
cdcx account positions -o json # Open positions + unrealized P&L
cdcx account info -o json # Master + sub-accounts
cdcx account subaccount-balances -o json # Per-sub-account
cdcx account balance-history --timeframe D1 -o json # Equity curve
# Fee rates
cdcx trade fee-rate -o json
cdcx trade instrument-fee-rate --instrument-name BTC_USDT -o json
# History
cdcx history orders BTC_USDT --limit 50 -o json
cdcx history trades BTC_USDT --limit 50 -o json
cdcx history transactions --limit 100 -o json
Wallet Operations
# Deposit
cdcx wallet networks -o json # Supported networks
cdcx wallet deposit-address BTC -o json # Get address
cdcx wallet deposit-history -o json # Track arrivals
# Withdraw (dangerous tier)
cdcx wallet withdraw BTC 0.1 <ADDRESS> --network-id BITCOIN --dry-run -o json
cdcx wallet withdraw BTC 0.1 <ADDRESS> --network-id BITCOIN --client-wid my-wd-001 -o json
cdcx wallet withdrawal-history -o json
Withdrawals require whitelisted addresses (configured in Exchange web GUI).
Isolated Margin
For instruments that require isolated margin (e.g. SPYUSD-PERP, NVDAUSD-PERP):
cdcx trade order BUY SPYUSD-PERP 0.001 --type LIMIT --price 710.25 --exec-inst ISOLATED_MARGIN -o json
# Fund/withdraw margin
cdcx margin transfer --direction IN --amount 100 <ISOLATION_ID>
cdcx margin transfer --direction OUT --amount 50 <ISOLATION_ID>
# Adjust leverage
cdcx margin leverage --leverage 5 <ISOLATION_ID>
Get isolation_id from cdcx account positions -o json.
Paper Trading (No Auth)
cdcx paper init --balance 50000
cdcx paper buy BTC_USDT --quantity 0.01 -o json
cdcx paper sell BTC_USDT --quantity 0.01 -o json
cdcx paper positions -o json
cdcx paper balance -o json
cdcx paper history -o json
cdcx paper reset --balance 100000
Recipes
Morning Brief
cdcx market ticker -o json # Market snapshot
cdcx account summary -o json # Cash
cdcx account positions -o json # Open positions
cdcx trade open-orders -o json # Pending orders
cdcx advanced open-orders -o json # Advanced orders
cdcx history trades --start-time $(date -v-1d +%s)000 -o json # Yesterday's fills
Emergency Flatten
Requires explicit user CONFIRM before execution — this cancels all orders and closes all positions at market.
cdcx trade cancel-all --yes -o json # Cancel all orders
cdcx advanced cancel-all --yes -o json # Cancel all advanced
cdcx account positions -o json | \
jq -r '.data[].instrument_name' | \
while read i; do cdcx trade close-position "$i" --type MARKET --yes; done
cdcx account positions -o json # Verify flat
Important Notes
- Instrument names are case-sensitive:
BTC_USDTnotbtc_usd. Spot uses_(e.g.BTC_USDT), perps use-PERP(e.g.BTC-PERP) - Prices in the API are strings — cast to float/decimal before arithmetic
cin ticker response is a ratio, not percentage:0.0257means +2.57%- Always supply
--client-oidfor order correlation close-positionis async — verify withcdcx account positionsafterwards- Advanced orders live in their own namespace — not visible in
cdcx trade open-orders - Batch max is 10 orders per call
- OTOCO structure: Leg 1 = entry LIMIT, Leg 2 = stop-loss trigger, Leg 3 = take-profit trigger
- OTO second leg must be a trigger type (STOP_LOSS, STOP_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT)
get-open-ordershas no pagination — returns ALL open orders- Withdrawal amount is gross (fee deducted from it)
- For memo coins (XRP, XLM, EOS), always include
--address-tag
Agent Behavior
- Always
--dry-runbefore live orders on new strategies - Confirm with user before any
mutatetier action in production — ask for "CONFIRM" - Never display full API secrets — mask credentials (first 5 + last 4 for key, last 5 only for secret)
- Default to
--output jsonfor programmatic consumption - Use
cdcx market instrumentsto verify tick sizes before placing orders - Check
cdcx account summaryfor available balance before order placement - For streaming data, prefer
cdcx streamover polling
Loading...
Select a file to preview
Analyzing security...
Checking scan reports and verification data.
Bill of Materials
Everything this skill can do — files, network, commands, and more.