Global flags
These flags are available on every command:| Flag | Description |
|---|---|
-o, --output <format> | Output format: table (default) or json. |
--dry-run | Simulate the operation without submitting a transaction. |
-y, --yes | Skip confirmation prompts. |
-w, --wallet <name> | Stored wallet to use instead of the default. |
--rpc-url <url> | Solana RPC endpoint override. |
--api-url <url> | Phoenix API endpoint override. |
-v, --verbose | Enable verbose / debug logging to stderr. |
--watch | Watch for live updates via WebSocket where supported. |
wallet — wallet management
| Subcommand | Description |
|---|---|
create --name <name> | Generate a new Solana keypair, encrypt it, and store it. |
import --name <name> [--format base58|bytes|file] <source> | Import from base58 string, byte array, or Solana CLI JSON file. |
list | List all stored wallets. |
show <name> | Show wallet details (pubkey, default status). |
set-default <name> | Set a wallet as the default for all commands. |
remove <name> | Remove a wallet from local storage. |
export <name> [--file <path> | --stdout | --private-key [--private-key-format base58|bytes]] [--force] | Export the encrypted wallet file to <path> (--file), print the encrypted backup to stdout (--stdout), or print the plaintext private key (--private-key, requires --yes). --private-key-format defaults to base58; pass bytes for the Solana CLI JSON array format. --force overwrites an existing --file path. |
balance [<name>] | Show SOL and USDC balances. Defaults to the default wallet. |
market — market data
| Subcommand | Description |
|---|---|
list | List all available perpetual markets. |
info <symbol> | Detailed market configuration (tick size, lot size, fees, leverage tiers). |
ticker <symbol> | Current price, 24h volume, open interest, funding rate. |
orderbook <symbol> [--depth <n>] | L2 orderbook snapshot. Default depth 10. |
candles <symbol> [--interval <i>] [--limit <n>] [--with-indicators <list>] | OHLCV candles. Defaults: interval 1h, limit 20. --with-indicators appends derived columns; supported: sma, ema, rsi, macd, bbands, atr, vwap, adx, stoch. |
trades <symbol> [--limit <n>] | Recent trades. Default limit 20. |
funding-rates <symbol> [--limit <n>] | Historical funding rates. Default limit 20. |
trade — order management
| Subcommand | Description |
|---|---|
market-buy <symbol> [<size> | --tokens <t> | --notional-usdc <u>] [--tp] [--sl] [--isolated [--collateral <c>]] [--reduce-only] | Place a market buy. Provide exactly one of positional size (base lots), --tokens, or --notional-usdc. |
market-sell <symbol> [<size> | --tokens <t> | --notional-usdc <u>] [--tp] [--sl] [--isolated [--collateral <c>]] [--reduce-only] | Place a market sell. Same sizing options as market-buy. |
limit-buy <symbol> <size> <price> [--tp] [--sl] [--isolated [--collateral <c>]] [--reduce-only] | Place a limit buy. Size in base lots. |
limit-sell <symbol> <size> <price> [--tp] [--sl] [--isolated [--collateral <c>]] [--reduce-only] | Place a limit sell. Size in base lots. |
cancel <symbol> <order-id...> | Cancel specific orders by ID. |
cancel-all [<symbol>] | Cancel all open orders. Omit symbol to cancel across every market. |
orders [<symbol>] | List open orders. Omit symbol to list all. |
set-tpsl <symbol> [--tp | --tp-level PRICE[:SIZE_TOKENS] ...] [--sl | --sl-level PRICE[:SIZE_TOKENS] ...] | Set take-profit or stop-loss on an existing position. Supports laddered exits. |
cancel-tpsl <symbol> [--tp] [--sl] | Cancel take-profit and/or stop-loss for a position. |
position — position management
| Subcommand | Description |
|---|---|
list | List all open positions. |
show <symbol> | Detailed view of a specific position. |
close <symbol> | Close an entire position. |
close-all | Close every open position across all markets. |
reduce <symbol> <size> | Reduce a position by size base lots. |
tp-sl <symbol> [--tp <price>] [--sl <price>] | Attach take-profit and/or stop-loss to an existing position. |
margin — collateral management
| Subcommand | Description |
|---|---|
status | Show cross-margin health, equity, maintenance margin, available balance. |
deposit <amount> | Deposit USDC collateral. |
withdraw <amount> | Withdraw USDC collateral. |
transfer <amount> --from <idx> --to <idx> | Transfer collateral between subaccounts (0 = cross). |
transfer-child-to-parent --child <idx> | Sweep all collateral from a child subaccount back to cross-margin. |
sync-parent-to-child --child <idx> | Sync parent state to a child subaccount. |
leverage-tiers <symbol> | Show the leverage tier schedule for a market. |
add-collateral <symbol> <amount> | Add USDC to an isolated position. |
account — trader account
| Subcommand | Description |
|---|---|
register --access-code <code> | --referral-code <code> | --invite-code <code> | Register a trader account. Exactly one code is required. |
info | Show trader account details (PDA, subaccounts, margin mode). |
subaccounts | List all subaccounts. |
create-subaccount [--pda-index <n>] --subaccount-index <n> | Create a new subaccount. |
auth — Phoenix API authentication
| Subcommand | Description |
|---|---|
login | Log in to the Phoenix API by signing a wallet challenge. |
status | Show redacted Phoenix API session status. |
logout | Clear the stored Phoenix API session. |
portfolio — portfolio snapshot
A single command (no subcommands) that returns margin, positions, and open orders in one call.
| Flag | Description |
|---|---|
--include <sections> | Comma-separated subset of margin, positions, orders. Defaults to all. |
paper — local paper trading
Paper trading runs against live Phoenix prices but never touches your wallet or on-chain state.
| Subcommand | Description |
|---|---|
init [--balance <amount>] [--currency <code>] [--fee-bps <bps>] | Initialize or overwrite the local paper account. |
reset [--balance <amount>] [--currency <code>] [--fee-bps <bps>] | Reset local paper state. |
status | Show paper account status. |
positions | Show paper positions. |
orders | Show open paper orders. |
fills [--limit <n>] | Show recent paper fills. Default limit 50. |
buy <symbol> [--type market|limit] [--size <lots> | --tokens <t> | --notional-usdc <u>] [--price <p>] | Place a paper buy order. |
sell <symbol> [--type market|limit] [--size <lots> | --tokens <t> | --notional-usdc <u>] [--price <p>] | Place a paper sell order. |
cancel <order-id> | Cancel a paper order. |
cancel-all [<symbol>] | Cancel all paper orders, optionally filtered by symbol. |
reconcile [<symbol>] | Reconcile resting paper limit orders against live market prices. |
history — trade and account history
| Subcommand | Description |
|---|---|
trades [--symbol <s>] [--limit <n>] [--cursor <c>] | Past trade and fill history. Default limit 20. |
orders [--symbol <s>] [--limit <n>] [--cursor <c>] | Past order history. Default limit 20. |
collateral [--limit <n>] [--cursor <c>] | Deposit and withdrawal history. Default limit 20. |
funding [--symbol <s>] [--limit <n>] [--cursor <c>] | Funding payment history. Default limit 20. |
pnl [--resolution hourly|daily] [--limit <n>] | PnL over time. Defaults to hourly, limit 24. |
agent — agent setup
| Subcommand | Description |
|---|---|
install [--target <t>] [--scope user|project] [--dir <path>] [--force] | Install Vulcan agent skills for a client. Targets: claude, cursor, codex, agentskills. |
doctor [--target <t>] [--scope user|project] [--dir <path>] | Inspect known agent skill locations. |
health [--target <t>] [--scope user|project] [--dir <path>] | Combined health check for first-run agent guidance. |
live-ready [--target <t>] [--scope user|project] | Check whether live agent execution is ready for a target client. |
mcp print-config [--target <t>] [--dangerous] [--groups <list>] | Print an MCP config snippet for an agent client. |
mcp doctor [--target <t>] [--scope <s>] [--path <path>] | Inspect expected MCP config for an agent client. |
mcp install [--target <t>] [--scope <s>] [--path <path>] [--dangerous] [--groups <list>] [--force | --repair] | Install or update the Vulcan MCP config. --repair updates only command and args, preserving the env (wallet name and password). |
mcp set-wallet <wallet> [--target <t>] [--scope <s>] [--path <path>] | Switch the wallet used by an already-installed Vulcan MCP server. |
mcp diagnose [--target <t>] [--scope <s>] [--path <path>] | Spawn the server with the exact command and env an agent client would use, run the JSON-RPC handshake, and assert vulcan_* tools appear. |
log show [--limit <n>] [--session <id>] | Show recent redacted action log records. |
log summary [--limit <n>] [--session <id>] | Summarize recent actions, positions, PnL, errors, and transactions. |
log report [--limit <n>] [--session <id>] | Build a position and session report from live trader state and local logs. |
strategy — strategy runners
Long-running TWAP, grid, and TA strategy runners with ledger-backed pause / resume / finalize lifecycle. See the Strategies page for the full reference.
| Subcommand | Description |
|---|---|
twap start ... | Start a TWAP run. |
twap resume <run-id> [--from-step <n>] | Resume a paused or incomplete TWAP run. |
grid start ... | Start a grid trading run. |
grid resume <run-id> [--from-step <n>] | Resume a paused or incomplete grid run. |
ta start ... | Start a TA-driven strategy run from a config file or JSON. |
ta resume <run-id> | Resume a paused or incomplete TA run. |
runs [--limit <n>] | List persisted strategy runs. |
status <run-id> [--since-tick <n>] [--include-ledger] | Show latest status for a run. |
monitor <run-id> [--include-ledger] | Compact non-blocking monitor state. |
wait-next-tick <run-id> [--after-tick <n>] [--timeout-seconds <s>] | Wait until a new tick or terminal status. |
report <run-id> | Show final or latest report. |
reconcile-grid <run-id> | Inspect live grid orders against the persisted ledger. |
pause <run-id> [--reason <r>] | Request a running strategy to pause at the next safe point. |
stop <run-id> [--reason <r>] | Request a strategy to stop permanently at the next safe point. |
finalize <run-id> [--reason <r>] [--cancel-orders] [--close-position] [--wait] [--timeout-seconds <s>] | Stop a strategy and optionally clean up live orders or positions. |
preflight | Inspect live-readiness for the active wallet without launching anything: wallet identity, password availability, trader registration, collateral, and a remedy command for every blocker. |
resume <run-id> [--from-step <n>] | Resume any paused or incomplete strategy run. |
ta — technical analysis
| Subcommand | Description |
|---|---|
compute <symbol> --indicator <name> [--timeframe <tf>] [--period <p>] [--limit <n>] [--params <json>] | Compute a single indicator over the latest candles. Supported indicators: sma, ema, rsi, macd, bbands, atr, vwap, adx, stoch. |
signal <symbol> --spec <json> | Evaluate a trigger spec against the latest indicator value. Example spec: {"indicator":"rsi","timeframe":"1h","op":"lt","threshold":30}. |
report <symbol> [--timeframe <tf>] | Multi-indicator snapshot (RSI, MACD, BBands, ATR, ADX). |
Standalone commands
| Command | Description |
|---|---|
status | Check configuration, connectivity, wallet, and registration status. |
setup | Interactive setup wizard for wallet, config, and connectivity. |
version | Print version and build information. |
update check [--force] | Check whether a newer Vulcan release is available. |
agent-context | Print agent runtime context (CONTEXT.md) to stdout. |
mcp [--allow-dangerous] [--groups <list>] | Start the local MCP server over stdio. |