Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
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.
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.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
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
Work from the deepbook-cli project directory. Ensure ~/.deepbook/config.json exists (auto-created on first run). Configure global defaults in ~/.deepbook (works from any path). Optional one-off overrides can still be provided via global flags. 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 providers deepbook pools deepbook 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: show set-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: details list balance import <alias> [privateKey] use <alias> deepbook stream: trades <pool> deepbook spot: pools buy <pool> sell <pool> limit <pool> deepbook swap: base-for-quote <pool> quote-for-base <pool> deepbook margin: pools managers deposit <pool> market <pool> limit <pool> position <pool> close <pool> deepbook manager: ls create deposit withdraw balance
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 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 OR --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>]
deepbook margin close <pool> --full --withdraw deepbook margin close <pool> --full --non-reduce-only deepbook margin close <pool> --side <buy|sell> --quantity <q> --reduce-only --no-repay
Swap (deepbook swap quote-for-base) is a direct pool swap with exact-input semantics. Spot market buy (deepbook spot buy <pool> --quantity ...) is an orderbook market order and uses a balance manager. CLI output now includes execution.kind and execution.type/direction so the mode is explicit.
Prefer --dry-run first for all state-changing commands. Validate pool key and manager object ID before placing/canceling orders. SUI-involved deposit/collateral paths split from gas coin inside the transaction automatically. Never print or log private keys. Margin manager type safety: Margin managers are generic typed objects: MarginManager<Base, Quote>. The margin manager type must match the exact pool pair being traded. Example: MarginManager<DEEP,USDC> works with DEEP_USDC, not DEEP_SUI. Margin manager resolution behavior: If --margin-manager is omitted, CLI auto-selects a compatible manager for that pool, or creates one in-transaction if none exists. If --margin-manager is provided, CLI treats it as explicit and strict: it must match signer + pool; no fallback or auto-create is performed. Internal margin fee buffer behavior: Margin market/limit orders auto-deposit a fee buffer before placing the order. With --no-pay-with-deep, buffer is deposited in trade asset collateral (base for sell, quote for buy). Without --no-pay-with-deep, buffer is deposited as DEEP into the margin manager. Full-close quantity normalization: deepbook margin close <pool> --full now auto-normalizes inferred quantity to pool lot-size/min-size. If reduce-only full close cannot satisfy lot-size exactly, CLI auto-switches to non-reduce-only and rounds up, then repays debt in the same transaction. If user explicitly passes --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. Discover balance managers: deepbook manager ls If none exist, create one: deepbook manager create Deposit quote coin to manager (for DEEP_SUI buy, fund SUI): deepbook manager deposit --coin SUI --amount 1 --manager <id> Optional balance check: deepbook manager balance --coin SUI --manager <id> Simulate buy first: deepbook spot buy DEEP_SUI --quantity 38 --manager <id> --no-pay-with-deep --dry-run Execute live buy: deepbook spot buy DEEP_SUI --quantity 38 --manager <id> --no-pay-with-deep Withdraw purchased asset to signer address (or explicit recipient): deepbook manager withdraw --coin DEEP --amount 38 --manager <id> optional recipient: --recipient <address> Verify manager balance: deepbook manager balance --coin DEEP --manager <id>
MoveAbort ... balance_manager::withdraw_with_proof code=3 means manager available balance is too low. This includes fees/reserved amounts, not just raw deposited balance. For spot buys, ensure quote coin is funded in manager (for DEEP_SUI, quote is SUI). If fees are attempted in DEEP and manager lacks DEEP, either deposit DEEP or pass --no-pay-with-deep. When manager is omitted, CLI resolves dynamically: one manager found -> uses it none found -> error multiple found -> require --manager <id>
Inspect pools/orderbook (deepbook spot pools, deepbook margin pools, deepbook orderbook ...). Confirm manager ID (deepbook manager ls). Simulate order (deepbook spot buy ... --dry-run). Execute live order (same command without --dry-run). Monitor with deepbook orderbook --watch and deepbook stream trades ....
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.