You have access to the ccxt CLI tool which lets you interact with 100+ cryptocurrency exchanges (Binance, Bybit, OKX, Kraken, Coinbase, and many more). You can fetch market data, place orders, check balances, and stream live data.
ccxt <exchange_id> <methodName> [args...] [options]
If you're unsure about the required arguments for a method, run:
ccxt explain <methodName>
This will show you the required and optional arguments with descriptions.
| Flag | Purpose |
|---|---|
| ------ | --------- |
--verbose | Show raw request/response data |
--sandbox | Use testnet/sandbox environment |
--raw | Output clean JSON without formatting |
--swap | Target swap/perpetuals account |
--future | Target futures account |
--spot | Target spot account |
--option | Target options account |
--param key=value | Pass extra exchange-specific params (repeatable) |
--no-keys | Skip API key loading |
Fetch markets (list all trading pairs on an exchange):
ccxt <exchange> fetchMarkets --raw
Fetch a single ticker:
ccxt <exchange> fetchTicker "BTC/USDT" --raw
Fetch multiple tickers:
ccxt <exchange> fetchTickers --raw
Fetch order book:
ccxt <exchange> fetchOrderBook "BTC/USDT" --raw
Fetch OHLCV candles:
ccxt <exchange> fetchOHLCV "BTC/USDT" 1h undefined 10 --raw
Fetch recent trades:
ccxt <exchange> fetchTrades "BTC/USDT" --raw
Fetch exchange status:
ccxt <exchange> fetchStatus --raw
Fetch currencies:
ccxt <exchange> fetchCurrencies --raw
Create an order:
ccxt <exchange> createOrder "BTC/USDT" limit buy 0.001 50000 --raw
ccxt <exchange> createOrder "BTC/USDT" market buy 0.001 --raw
Create order with extra params:
ccxt <exchange> createOrder "BTC/USDT" limit buy 0.001 50000 --param stopPrice=49000 --raw
Cancel an order:
ccxt <exchange> cancelOrder "<order_id>" "BTC/USDT" --raw
Fetch open orders:
ccxt <exchange> fetchOpenOrders "BTC/USDT" --raw
Fetch closed orders:
ccxt <exchange> fetchClosedOrders "BTC/USDT" --raw
Fetch a specific order:
ccxt <exchange> fetchOrder "<order_id>" "BTC/USDT" --raw
Fetch balance:
ccxt <exchange> fetchBalance --raw
Fetch balance for derivatives:
ccxt <exchange> fetchBalance --swap --raw
Fetch my trades:
ccxt <exchange> fetchMyTrades "BTC/USDT" --raw
Fetch positions (derivatives):
ccxt <exchange> fetchPositions --swap --raw
Fetch deposit address:
ccxt <exchange> fetchDepositAddress "BTC" --raw
Fetch funding rate:
ccxt <exchange> fetchFundingRate "BTC/USDT:USDT" --raw
Fetch funding rate history:
ccxt <exchange> fetchFundingRateHistory "BTC/USDT:USDT" --raw
Fetch mark price / index price:
ccxt <exchange> fetchMarkOHLCV "BTC/USDT:USDT" 1h --raw
ccxt <exchange> fetchIndexOHLCV "BTC/USDT:USDT" 1h --raw
/ or : — e.g., "BTC/USDT", "BTC/USDT:USDT".undefined as a positional placeholder to skip optional arguments while providing later ones. For example: ccxt binance fetchOHLCV "BTC/USDT" 1h undefined 10 skips since but provides limit.--raw when you need to parse the output programmatically or when the user needs clean JSON.--sandbox for testing with testnet environments. Always recommend sandbox mode when the user is experimenting with orders."2025-01-01T00:00:00Z") are auto-converted to milliseconds.BINANCE_APIKEY, BINANCE_SECRET) or the config file. If a private method fails due to missing credentials, instruct the user to set them up."BASE/QUOTE:SETTLE" — e.g., "BTC/USDT:USDT" for USDT-margined perpetuals.createOrder. The CLI executes immediately with no confirmation prompt.fetchMarkets returns hundreds of entries), consider piping through | head or filtering, or suggest the user narrows their query.ccxt exchanges or refer to https://docs.ccxt.com.Tell users to configure credentials in one of two ways:
Option 1 — Environment variables:
export BINANCE_APIKEY=your_api_key
export BINANCE_SECRET=your_secret
Option 2 — Config file (path shown in ccxt --help):
{
"binance": {
"apiKey": "your_api_key",
"secret": "your_secret"
}
}
AuthenticationError, the API keys are missing or invalid.ExchangeNotAvailable or NetworkError, the exchange may be down or rate-limiting.BadSymbol, the trading pair doesn't exist on that exchange — use fetchMarkets to check available pairs.InsufficientFunds, the account doesn't have enough balance for the operation.共 1 个版本