CLI Reference
High-level command map for the current Market Lab CLI surface.
CLI Reference
Current top-level commands:
marketstradepositionsordersfillscancelclosedaemoninspectreplaysourcestudyscriptstrategyhealthstatusupgradeauth
Markets
Inspect an embedded provider market catalog and trading rules.
Current catalog provider:
bulk
List the local snapshot:
mlab markets
mlab markets --provider bulkInspect one market using Market Lab or BULK symbol notation:
mlab markets --provider bulk --symbol BTC/USDT
mlab markets --provider bulk --symbol BTC-USDReturn the full catalog or one market as JSON:
mlab markets --provider bulk --json
mlab markets --provider bulk --symbol BTC/USDT --jsonmarkets reads a versioned snapshot embedded in the binary. It performs no runtime request and requires no credentials. See BULK Provider.
Inspect
Historical or reconstructed market-state inspection.
Example:
mlab inspect --provider mmt --exchange binancef --symbol BTC/USDT --at 1779399687271 --depth 20 --output terminalSource
Raw provider-facing commands.
Current source commands:
source orderbooksource candlessource vdsource oisource volumessource statssource funding
Examples:
mlab source orderbook --provider mmt --exchange bybitf --symbol BTC/USDT --depth 100 --output jsonmlab source candles --provider mmt --exchange binancef --symbol BTC/USDT --timeframe 60 --from 1779880000000 --to 1779883600000 --output jsonmlab source vd --provider mmt --exchange bybitf --symbol BTC/USDT --timeframe 60 --from 1779620400000 --to 1779624000000 --bucket 1 --output jsonmlab source oi --provider mmt --exchange bybitf --symbol BTC/USDT --timeframe 60 --from 1779660000000 --to 1779705600000 --output jsonmlab source volumes --provider mmt --exchange bybitf --symbol BTC/USDT --timeframe 60 --from 1779660000000 --to 1779705600000 --output jsonBULK is also a source provider. Omit --exchange because the provider resolves the native venue:
mlab source orderbook --provider bulk --symbol BTC/USDT --depth 100 --output jsonmlab source candles --provider bulk --symbol BTC/USDT --timeframe 60 --from 1780307559000 --to 1780523645000 --output jsonmlab source oi --provider bulk --symbol BTC/USDT --stream --output jsonlmlab source vd --provider bulk --symbol BTC/USDT --stream --output jsonlmlab source stats --provider bulk --period 7d --output json
mlab source funding --provider bulk --symbol BTC/USDT --stream --output jsonlBULK source modes and flags differ by source. See BULK Provider.
Execution
BULK is currently the default and only execution venue. Canonical trade directions are long and short.
Preview a normalized order without signing or starting mlabd:
mlab trade long BTC/USDT --notional 10 --dry-runMarket and limit examples:
mlab trade long BTC/USDT --notional 100 --leverage 5
mlab trade short BTC/USDT --size 0.001 --type limit --price 65000 --tif alo
mlab trade long BTC/USDT --notional 100 --sl 63000 --tp 69000Account state and order management:
mlab positions
mlab orders
mlab fills
mlab cancel BTC/USDT <ORDER_ID> --dry-run
mlab close BTC/USDT --dry-runRuntime management:
mlab daemon start
mlab daemon status
mlab daemon events --limit 20
mlab daemon stopLive place, cancel, and close commands ask for terminal confirmation. Structured live output requires --yes. Execution supports only terminal, json, and jsonl output.
See Execution for validation, configuration, runtime security, and lifecycle events.
Script
Run local JavaScript against Market Lab data sources.
Reusable script settings can be loaded with --config marketlab.toml. See Configuration.
Script commands:
script runscript backtestscript jobsscript statusscript logsscript stopscript restartscript runs listscript runs show
Backtest execution calls against historical data:
mlab script backtest ./scripts/sma-cross.js --provider mmt --exchange bybitf --symbol BTC/USDT --from 1704067200000 --to 1704667200000 --source candles:timeframe=60 --param candles:fast=20 --param candles:slow=50 --param candles:notional=1000 --leverage 5 --output jsonThe backtest simulator intercepts ctx.trade and ctx.cancel. It tracks market and limit orders, pending cancellations, positions, per-order leverage, and sl/tp exits without signing or submitting anything.
Deploy an analysis-only live job:
mlab script run ./scripts/candle-summary.js --provider bulk --symbol BTC/USDT --source candles:timeframe=60Explicitly enable BULK execution:
mlab script run ./scripts/bulk-limit-protected.js --provider bulk --symbol BTC/USDT --source candles:timeframe=60 --venue bulk --param candles:armed=truescript run snapshots the script, starts a detached worker through mlabd, prints the job ID, and returns. Omitting --venue disables ctx.trade and ctx.cancel.
Manage live jobs:
mlab script jobs
mlab script status <JOB_ID>
mlab script logs <JOB_ID> --follow
mlab script stop <JOB_ID>
mlab script restart <JOB_ID>script logs --follow supports terminal or JSONL output. script status, stop, and restart accept the exact job ID.
Historical runtime telemetry remains separate from active jobs:
mlab script runs listmlab script runs show <run-id>See Scripts and Script Execution.
Auth
Store provider credentials in the operating system keychain:
mlab auth set mmt
mlab auth set bulk
mlab auth status
mlab auth remove mmt
mlab auth remove bulkauth status never prints an MMT API key or BULK private key. For BULK it prints the registration state, account public key when known, and agent public key.
auth set bulk:
- generates an agent wallet locally
- stores the agent credential in the operating system keychain
- prompts for the main wallet private key without echoing it
- uses the main key once to sign agent authorization and never stores it
- preserves an unconfirmed agent as
pendingso the same registration can be retried safely
auth remove bulk revokes an active agent on BULK before deleting the local credential. It asks for the matching main wallet private key to sign the revocation.
The BULK command surface includes public market data, embedded market rules, agent-wallet management, account state, and order execution. See BULK Provider and Execution.
Study
Derived metrics and calculations.
Current study commands:
study spreadstudy depthstudy imbalancestudy slippagestudy vampstudy cvd
Examples:
mlab study spread --provider mmt --exchange bybitf --symbol BTC/USDT --depth 20 --output jsonmlab study slippage --provider mmt --exchange bybitf --symbol BTC/USDT --side buy --notional 100000 --depth 100 --output jsonStrategy
Time-series logic over provider data.
Current strategy commands:
strategy run sma-crossoverstrategy backtest sma-crossover
Run mode:
mlab strategy run sma-crossover --provider mmt --exchange bybitf --symbol BTC/USDT --timeframe 60 --output terminalBacktest mode:
mlab strategy backtest sma-crossover --provider mmt --exchange bybitf --symbol BTC/USDT --timeframe 60 --from 1779660000000 --to 1779705600000 --fast 20 --slow 50 --confirm-bars 1 --output terminalNotes:
strategy runis live modestrategy backtestis historical modestrategy runcan accept optional--fromas a warmup anchorstrategy backtestrequires--fromand--to
Health
Provider health and connectivity checks.
mlab health --provider mmt --output json
mlab health --provider bulk --output jsonStatus
Local CLI and runtime status.
mlab statusUpgrade
Check for newer CLI releases.
mlab upgrade --check