Operate the deepbook CLI for DeepBook reads (REST/SSE), global ~/.deepbook config/account management, on-chain spot trading, top-level swap execution, balance-manager ops, and margin trading.
Use this skill when the user wants to use deepbook end to end: market data, wallet/config setup, and on-chain execution (spot, swap, manager, margin).
Check if deepbook is installed:
deepbook --version
If not, install it:
npm install -g deepbook-cli
deepbook-cli project directory.~/.deepbook/config.json exists (auto-created on first run).~/.deepbook (works from any path).mainnet/testnet are aliases used consistently for both provider-side reads/streams and on-chain RPC.
--json--provider <name>--base-url <url>--stream-base-url <url>--network <mainnet|testnet>--rpc-url <url>--private-key <suiprivkey>--address <address>--manager <id>--trade-cap <id>Top-level:
deepbook providersdeepbook poolsdeepbook orderbook <pool> (alias: deepbook book <pool>)deepbook trades <pool>deepbook ohlcv <pool>deepbook stream ...deepbook spot ...deepbook swap ...deepbook margin ...deepbook manager ...deepbook config ...deepbook account ...deepbook config:
showset-network <network>set-provider <provider>set-rpc-url <network> <url>set-address <address>set-trade-cap <id>set-read-key [apiKey]set-stream-key <pool> [apiKey]set-provider-base-url <network> <url>set-provider-stream-base-url <network> <url>import-key [privateKey]deepbook account:
detailslistbalanceimport <alias> [privateKey]use <alias>deepbook stream:
trades <pool>deepbook spot:
poolsbuy <pool>sell <pool>limit <pool>deepbook swap:
base-for-quote <pool>quote-for-base <pool>deepbook margin:
poolsmanagersdeposit <pool>market <pool>limit <pool>deepbook providers
deepbook pools
deepbook orderbook <pool>
deepbook trades <pool>
deepbook ohlcv <pool>
deepbook stream trades <pool>
deepbook spot pools
deepbook spot buy <pool> --quantity <value> [--price <value>] [--manager <id>]
deepbook spot sell <pool> --quantity <value> [--price <value>] [--manager <id>]
deepbook spot limit <pool> --side <buy|sell> --price <value> --quantity <value> [--manager <id>]
deepbook spot limit <pool> --cancel <id> [--manager <id>]
deepbook config show
deepbook config set-network <mainnet|testnet>
deepbook config set-provider <surflux>
deepbook config set-rpc-url <mainnet|testnet> <url>
deepbook config set-address <address>
deepbook config set-trade-cap <objectId>
deepbook config set-read-key [apiKey] (or --stdin)
deepbook config set-stream-key <pool> [apiKey] (or --stdin)
deepbook config set-provider-base-url <mainnet|testnet> <url>
deepbook config set-provider-stream-base-url <mainnet|testnet> <url>
deepbook config import-key [privateKey] (or --stdin, optional --alias)
deepbook account details
deepbook account list
deepbook account balance [--coin <SUI|USDC|DEEP|coinType>]
deepbook account import <alias> [privateKey] (or --stdin)
deepbook account use <alias>
deepbook swap base-for-quote <pool> --amount <value>
deepbook margin close <pool> --full --withdrawdeepbook margin close <pool> --full --non-reduce-onlydeepbook margin close <pool> --side <buy|sell> --quantity <q> --reduce-only --no-repaydeepbook swap quote-for-base) is a direct pool swap with exact-input semantics.deepbook spot buy <pool> --quantity ...) is an orderbook market order and uses a balance manager.execution.kind and execution.type/direction so the mode is explicit.--dry-run first for all state-changing commands.MarginManager<Base, Quote>.MarginManager<DEEP,USDC> works with DEEP_USDC, not DEEP_SUI.--margin-manager is omitted, CLI auto-selects a compatible manager for that pool, or creates one in-transaction if none exists.--margin-manager is provided, CLI treats it as explicit and strict: it must match signer + pool; no fallback or auto-create is performed.--no-pay-with-deep, buffer is deposited in trade asset collateral (base for sell, quote for buy).--no-pay-with-deep, buffer is deposited as DEEP into the margin manager.deepbook margin close <pool> --full now auto-normalizes inferred quantity to pool lot-size/min-size.--reduce-only, CLI keeps reduce-only semantics and errors when full close cannot be represented as a valid lot-size quantity.Use this when executing a real spot trade through a balance manager.
deepbook manager lsdeepbook manager createDEEP_SUI buy, fund SUI):
deepbook manager deposit --coin SUI --amount 1 --manager <id>deepbook manager balance --coin SUI --manager <id>deepbook spot buy DEEP_SUI --quantity 38 --manager <id> --no-pay-with-deep --dry-rundeepbook spot buy DEEP_SUI --quantity 38 --manager <id> --no-pay-with-deepdeepbook manager withdraw --coin DEEP --amount 38 --manager <id>--recipient <address>deepbook manager balance --coin DEEP --manager <id>MoveAbort ... balance_manager::withdraw_with_proof code=3 means manager available balance is too low.DEEP_SUI, quote is SUI).--no-pay-with-deep.--manager <id>deepbook spot pools, deepbook margin pools, deepbook orderbook ...).deepbook manager ls).deepbook spot buy ... --dry-run).--dry-run).deepbook orderbook --watch and deepbook stream trades ....position <pool>close <pool>deepbook manager:
lscreatedepositwithdrawbalancedeepbook swap quote-for-base <pool> --amount <value>
deepbook margin pools
deepbook margin managers
deepbook margin deposit <pool> --coin <BASE|QUOTE|DEEP|coinKey> --amount <value> [--margin-manager <id>]
deepbook margin market <pool> --side <buy|sell> --quantity <value> [--margin-manager <id>]
deepbook margin limit <pool> --side <buy|sell> --price <value> --quantity <value> [--margin-manager <id>]
deepbook margin position <pool> [--margin-manager <id>]
deepbook margin close <pool> [--margin-manager <id>] + either:
--full--side <buy|sell> --quantity <value>deepbook manager ls
deepbook manager create
deepbook manager deposit --coin <key> --amount <value> [--manager <id>]
deepbook manager withdraw --coin <key> --amount <value> [--manager <id>]
deepbook manager balance --coin <key> [--manager <id>]