{
  "schemaVersion": "1.0",
  "item": {
    "slug": "deepbook-cli",
    "name": "DeepBook CLI. Watch, Make & Take the Sui Market",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/astinz/deepbook-cli",
    "canonicalUrl": "https://clawhub.ai/astinz/deepbook-cli",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/deepbook-cli",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=deepbook-cli",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "deepbook-cli",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T10:33:49.376Z",
      "expiresAt": "2026-05-09T10:33:49.376Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=deepbook-cli",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=deepbook-cli",
        "contentDisposition": "attachment; filename=\"deepbook-cli-0.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "deepbook-cli"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/deepbook-cli"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/deepbook-cli",
    "agentPageUrl": "https://openagent3.xyz/skills/deepbook-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/deepbook-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/deepbook-cli/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "DeepBook CLI Skill",
        "body": "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)."
      },
      {
        "title": "Installation",
        "body": "Check if deepbook is installed:\n\ndeepbook --version\n\nIf not, install it:\n\nnpm install -g deepbook-cli"
      },
      {
        "title": "Setup",
        "body": "Work from the deepbook-cli project directory.\nEnsure ~/.deepbook/config.json exists (auto-created on first run).\nConfigure global defaults in ~/.deepbook (works from any path).\nOptional one-off overrides can still be provided via global flags.\n\nmainnet/testnet are aliases used consistently for both provider-side reads/streams and on-chain RPC."
      },
      {
        "title": "Global flags",
        "body": "--json\n--provider <name>\n--base-url <url>\n--stream-base-url <url>\n--network <mainnet|testnet>\n--rpc-url <url>\n--private-key <suiprivkey>\n--address <address>\n--manager <id>\n--trade-cap <id>"
      },
      {
        "title": "Available commands",
        "body": "Top-level:\n\ndeepbook providers\ndeepbook pools\ndeepbook orderbook <pool> (alias: deepbook book <pool>)\ndeepbook trades <pool>\ndeepbook ohlcv <pool>\ndeepbook stream ...\ndeepbook spot ...\ndeepbook swap ...\ndeepbook margin ...\ndeepbook manager ...\ndeepbook config ...\ndeepbook account ...\n\n\n\ndeepbook config:\n\nshow\nset-network <network>\nset-provider <provider>\nset-rpc-url <network> <url>\nset-address <address>\nset-trade-cap <id>\nset-read-key [apiKey]\nset-stream-key <pool> [apiKey]\nset-provider-base-url <network> <url>\nset-provider-stream-base-url <network> <url>\nimport-key [privateKey]\n\n\n\ndeepbook account:\n\ndetails\nlist\nbalance\nimport <alias> [privateKey]\nuse <alias>\n\n\n\ndeepbook stream:\n\ntrades <pool>\n\n\n\ndeepbook spot:\n\npools\nbuy <pool>\nsell <pool>\nlimit <pool>\n\n\n\ndeepbook swap:\n\nbase-for-quote <pool>\nquote-for-base <pool>\n\n\n\ndeepbook margin:\n\npools\nmanagers\ndeposit <pool>\nmarket <pool>\nlimit <pool>\nposition <pool>\nclose <pool>\n\n\n\ndeepbook manager:\n\nls\ncreate\ndeposit\nwithdraw\nbalance"
      },
      {
        "title": "Command cheat sheet (required args/options)",
        "body": "deepbook providers\n\n\ndeepbook pools\n\n\ndeepbook orderbook <pool>\n\n\ndeepbook trades <pool>\n\n\ndeepbook ohlcv <pool>\n\n\ndeepbook stream trades <pool>\n\n\ndeepbook spot pools\n\n\ndeepbook spot buy <pool> --quantity <value> [--price <value>] [--manager <id>]\n\n\ndeepbook spot sell <pool> --quantity <value> [--price <value>] [--manager <id>]\n\n\ndeepbook spot limit <pool> --side <buy|sell> --price <value> --quantity <value> [--manager <id>]\n\n\ndeepbook spot limit <pool> --cancel <id> [--manager <id>]\n\n\ndeepbook config show\n\n\ndeepbook config set-network <mainnet|testnet>\n\n\ndeepbook config set-provider <surflux>\n\n\ndeepbook config set-rpc-url <mainnet|testnet> <url>\n\n\ndeepbook config set-address <address>\n\n\ndeepbook config set-trade-cap <objectId>\n\n\ndeepbook config set-read-key [apiKey] (or --stdin)\n\n\ndeepbook config set-stream-key <pool> [apiKey] (or --stdin)\n\n\ndeepbook config set-provider-base-url <mainnet|testnet> <url>\n\n\ndeepbook config set-provider-stream-base-url <mainnet|testnet> <url>\n\n\ndeepbook config import-key [privateKey] (or --stdin, optional --alias)\n\n\ndeepbook account details\n\n\ndeepbook account list\n\n\ndeepbook account balance [--coin <SUI|USDC|DEEP|coinType>]\n\n\ndeepbook account import <alias> [privateKey] (or --stdin)\n\n\ndeepbook account use <alias>\n\n\ndeepbook swap base-for-quote <pool> --amount <value>\n\n\ndeepbook swap quote-for-base <pool> --amount <value>\n\n\ndeepbook margin pools\n\n\ndeepbook margin managers\n\n\ndeepbook margin deposit <pool> --coin <BASE|QUOTE|DEEP|coinKey> --amount <value> [--margin-manager <id>]\n\n\ndeepbook margin market <pool> --side <buy|sell> --quantity <value> [--margin-manager <id>]\n\n\ndeepbook margin limit <pool> --side <buy|sell> --price <value> --quantity <value> [--margin-manager <id>]\n\n\ndeepbook margin position <pool> [--margin-manager <id>]\n\n\ndeepbook margin close <pool> [--margin-manager <id>] + either:\n\n--full\nOR --side <buy|sell> --quantity <value>\n\n\n\ndeepbook manager ls\n\n\ndeepbook manager create\n\n\ndeepbook manager deposit --coin <key> --amount <value> [--manager <id>]\n\n\ndeepbook manager withdraw --coin <key> --amount <value> [--manager <id>]\n\n\ndeepbook manager balance --coin <key> [--manager <id>]"
      },
      {
        "title": "Key margin close flags",
        "body": "deepbook margin close <pool> --full --withdraw\ndeepbook margin close <pool> --full --non-reduce-only\ndeepbook margin close <pool> --side <buy|sell> --quantity <q> --reduce-only --no-repay"
      },
      {
        "title": "Swap vs spot market buy",
        "body": "Swap (deepbook swap quote-for-base) is a direct pool swap with exact-input semantics.\nSpot market buy (deepbook spot buy <pool> --quantity ...) is an orderbook market order and uses a balance manager.\nCLI output now includes execution.kind and execution.type/direction so the mode is explicit."
      },
      {
        "title": "Safety defaults",
        "body": "Prefer --dry-run first for all state-changing commands.\nValidate pool key and manager object ID before placing/canceling orders.\nSUI-involved deposit/collateral paths split from gas coin inside the transaction automatically.\nNever print or log private keys.\nMargin manager type safety:\n\nMargin managers are generic typed objects: MarginManager<Base, Quote>.\nThe margin manager type must match the exact pool pair being traded.\nExample: MarginManager<DEEP,USDC> works with DEEP_USDC, not DEEP_SUI.\n\n\nMargin manager resolution behavior:\n\nIf --margin-manager is omitted, CLI auto-selects a compatible manager for that pool, or creates one in-transaction if none exists.\nIf --margin-manager is provided, CLI treats it as explicit and strict: it must match signer + pool; no fallback or auto-create is performed.\n\n\nInternal margin fee buffer behavior:\n\nMargin market/limit orders auto-deposit a fee buffer before placing the order.\nWith --no-pay-with-deep, buffer is deposited in trade asset collateral (base for sell, quote for buy).\nWithout --no-pay-with-deep, buffer is deposited as DEEP into the margin manager.\n\n\nFull-close quantity normalization:\n\ndeepbook margin close <pool> --full now auto-normalizes inferred quantity to pool lot-size/min-size.\nIf 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.\nIf user explicitly passes --reduce-only, CLI keeps reduce-only semantics and errors when full close cannot be represented as a valid lot-size quantity."
      },
      {
        "title": "End-to-end spot trading flow (fund -> buy -> withdraw)",
        "body": "Use this when executing a real spot trade through a balance manager.\n\nDiscover balance managers:\n\ndeepbook manager ls\n\n\nIf none exist, create one:\n\ndeepbook manager create\n\n\nDeposit quote coin to manager (for DEEP_SUI buy, fund SUI):\n\ndeepbook manager deposit --coin SUI --amount 1 --manager <id>\n\n\nOptional balance check:\n\ndeepbook manager balance --coin SUI --manager <id>\n\n\nSimulate buy first:\n\ndeepbook spot buy DEEP_SUI --quantity 38 --manager <id> --no-pay-with-deep --dry-run\n\n\nExecute live buy:\n\ndeepbook spot buy DEEP_SUI --quantity 38 --manager <id> --no-pay-with-deep\n\n\nWithdraw purchased asset to signer address (or explicit recipient):\n\ndeepbook manager withdraw --coin DEEP --amount 38 --manager <id>\noptional recipient: --recipient <address>\n\n\nVerify manager balance:\n\ndeepbook manager balance --coin DEEP --manager <id>"
      },
      {
        "title": "Spot trade troubleshooting",
        "body": "MoveAbort ... balance_manager::withdraw_with_proof code=3 means manager available balance is too low.\nThis includes fees/reserved amounts, not just raw deposited balance.\nFor spot buys, ensure quote coin is funded in manager (for DEEP_SUI, quote is SUI).\nIf fees are attempted in DEEP and manager lacks DEEP, either deposit DEEP or pass --no-pay-with-deep.\nWhen manager is omitted, CLI resolves dynamically:\n\none manager found -> uses it\nnone found -> error\nmultiple found -> require --manager <id>"
      },
      {
        "title": "Typical workflow",
        "body": "Inspect pools/orderbook (deepbook spot pools, deepbook margin pools, deepbook orderbook ...).\nConfirm manager ID (deepbook manager ls).\nSimulate order (deepbook spot buy ... --dry-run).\nExecute live order (same command without --dry-run).\nMonitor with deepbook orderbook --watch and deepbook stream trades ...."
      }
    ],
    "body": "DeepBook CLI Skill\n\nUse 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).\n\nInstallation\n\nCheck if deepbook is installed:\n\ndeepbook --version\n\n\nIf not, install it:\n\nnpm install -g deepbook-cli\n\nSetup\nWork from the deepbook-cli project directory.\nEnsure ~/.deepbook/config.json exists (auto-created on first run).\nConfigure global defaults in ~/.deepbook (works from any path).\nOptional one-off overrides can still be provided via global flags.\n\nmainnet/testnet are aliases used consistently for both provider-side reads/streams and on-chain RPC.\n\nGlobal flags\n--json\n--provider <name>\n--base-url <url>\n--stream-base-url <url>\n--network <mainnet|testnet>\n--rpc-url <url>\n--private-key <suiprivkey>\n--address <address>\n--manager <id>\n--trade-cap <id>\nAvailable commands\n\nTop-level:\n\ndeepbook providers\ndeepbook pools\ndeepbook orderbook <pool> (alias: deepbook book <pool>)\ndeepbook trades <pool>\ndeepbook ohlcv <pool>\ndeepbook stream ...\ndeepbook spot ...\ndeepbook swap ...\ndeepbook margin ...\ndeepbook manager ...\ndeepbook config ...\ndeepbook account ...\n\ndeepbook config:\n\nshow\nset-network <network>\nset-provider <provider>\nset-rpc-url <network> <url>\nset-address <address>\nset-trade-cap <id>\nset-read-key [apiKey]\nset-stream-key <pool> [apiKey]\nset-provider-base-url <network> <url>\nset-provider-stream-base-url <network> <url>\nimport-key [privateKey]\n\ndeepbook account:\n\ndetails\nlist\nbalance\nimport <alias> [privateKey]\nuse <alias>\n\ndeepbook stream:\n\ntrades <pool>\n\ndeepbook spot:\n\npools\nbuy <pool>\nsell <pool>\nlimit <pool>\n\ndeepbook swap:\n\nbase-for-quote <pool>\nquote-for-base <pool>\n\ndeepbook margin:\n\npools\nmanagers\ndeposit <pool>\nmarket <pool>\nlimit <pool>\nposition <pool>\nclose <pool>\n\ndeepbook manager:\n\nls\ncreate\ndeposit\nwithdraw\nbalance\nCommand cheat sheet (required args/options)\n\ndeepbook providers\n\ndeepbook pools\n\ndeepbook orderbook <pool>\n\ndeepbook trades <pool>\n\ndeepbook ohlcv <pool>\n\ndeepbook stream trades <pool>\n\ndeepbook spot pools\n\ndeepbook spot buy <pool> --quantity <value> [--price <value>] [--manager <id>]\n\ndeepbook spot sell <pool> --quantity <value> [--price <value>] [--manager <id>]\n\ndeepbook spot limit <pool> --side <buy|sell> --price <value> --quantity <value> [--manager <id>]\n\ndeepbook spot limit <pool> --cancel <id> [--manager <id>]\n\ndeepbook config show\n\ndeepbook config set-network <mainnet|testnet>\n\ndeepbook config set-provider <surflux>\n\ndeepbook config set-rpc-url <mainnet|testnet> <url>\n\ndeepbook config set-address <address>\n\ndeepbook config set-trade-cap <objectId>\n\ndeepbook config set-read-key [apiKey] (or --stdin)\n\ndeepbook config set-stream-key <pool> [apiKey] (or --stdin)\n\ndeepbook config set-provider-base-url <mainnet|testnet> <url>\n\ndeepbook config set-provider-stream-base-url <mainnet|testnet> <url>\n\ndeepbook config import-key [privateKey] (or --stdin, optional --alias)\n\ndeepbook account details\n\ndeepbook account list\n\ndeepbook account balance [--coin <SUI|USDC|DEEP|coinType>]\n\ndeepbook account import <alias> [privateKey] (or --stdin)\n\ndeepbook account use <alias>\n\ndeepbook swap base-for-quote <pool> --amount <value>\n\ndeepbook swap quote-for-base <pool> --amount <value>\n\ndeepbook margin pools\n\ndeepbook margin managers\n\ndeepbook margin deposit <pool> --coin <BASE|QUOTE|DEEP|coinKey> --amount <value> [--margin-manager <id>]\n\ndeepbook margin market <pool> --side <buy|sell> --quantity <value> [--margin-manager <id>]\n\ndeepbook margin limit <pool> --side <buy|sell> --price <value> --quantity <value> [--margin-manager <id>]\n\ndeepbook margin position <pool> [--margin-manager <id>]\n\ndeepbook margin close <pool> [--margin-manager <id>] + either:\n\n--full\nOR --side <buy|sell> --quantity <value>\n\ndeepbook manager ls\n\ndeepbook manager create\n\ndeepbook manager deposit --coin <key> --amount <value> [--manager <id>]\n\ndeepbook manager withdraw --coin <key> --amount <value> [--manager <id>]\n\ndeepbook manager balance --coin <key> [--manager <id>]\n\nKey margin close flags\ndeepbook margin close <pool> --full --withdraw\ndeepbook margin close <pool> --full --non-reduce-only\ndeepbook margin close <pool> --side <buy|sell> --quantity <q> --reduce-only --no-repay\nSwap vs spot market buy\nSwap (deepbook swap quote-for-base) is a direct pool swap with exact-input semantics.\nSpot market buy (deepbook spot buy <pool> --quantity ...) is an orderbook market order and uses a balance manager.\nCLI output now includes execution.kind and execution.type/direction so the mode is explicit.\nSafety defaults\nPrefer --dry-run first for all state-changing commands.\nValidate pool key and manager object ID before placing/canceling orders.\nSUI-involved deposit/collateral paths split from gas coin inside the transaction automatically.\nNever print or log private keys.\nMargin manager type safety:\nMargin managers are generic typed objects: MarginManager<Base, Quote>.\nThe margin manager type must match the exact pool pair being traded.\nExample: MarginManager<DEEP,USDC> works with DEEP_USDC, not DEEP_SUI.\nMargin manager resolution behavior:\nIf --margin-manager is omitted, CLI auto-selects a compatible manager for that pool, or creates one in-transaction if none exists.\nIf --margin-manager is provided, CLI treats it as explicit and strict: it must match signer + pool; no fallback or auto-create is performed.\nInternal margin fee buffer behavior:\nMargin market/limit orders auto-deposit a fee buffer before placing the order.\nWith --no-pay-with-deep, buffer is deposited in trade asset collateral (base for sell, quote for buy).\nWithout --no-pay-with-deep, buffer is deposited as DEEP into the margin manager.\nFull-close quantity normalization:\ndeepbook margin close <pool> --full now auto-normalizes inferred quantity to pool lot-size/min-size.\nIf 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.\nIf user explicitly passes --reduce-only, CLI keeps reduce-only semantics and errors when full close cannot be represented as a valid lot-size quantity.\nEnd-to-end spot trading flow (fund -> buy -> withdraw)\n\nUse this when executing a real spot trade through a balance manager.\n\nDiscover balance managers:\ndeepbook manager ls\nIf none exist, create one:\ndeepbook manager create\nDeposit quote coin to manager (for DEEP_SUI buy, fund SUI):\ndeepbook manager deposit --coin SUI --amount 1 --manager <id>\nOptional balance check:\ndeepbook manager balance --coin SUI --manager <id>\nSimulate buy first:\ndeepbook spot buy DEEP_SUI --quantity 38 --manager <id> --no-pay-with-deep --dry-run\nExecute live buy:\ndeepbook spot buy DEEP_SUI --quantity 38 --manager <id> --no-pay-with-deep\nWithdraw purchased asset to signer address (or explicit recipient):\ndeepbook manager withdraw --coin DEEP --amount 38 --manager <id>\noptional recipient: --recipient <address>\nVerify manager balance:\ndeepbook manager balance --coin DEEP --manager <id>\nSpot trade troubleshooting\nMoveAbort ... balance_manager::withdraw_with_proof code=3 means manager available balance is too low.\nThis includes fees/reserved amounts, not just raw deposited balance.\nFor spot buys, ensure quote coin is funded in manager (for DEEP_SUI, quote is SUI).\nIf fees are attempted in DEEP and manager lacks DEEP, either deposit DEEP or pass --no-pay-with-deep.\nWhen manager is omitted, CLI resolves dynamically:\none manager found -> uses it\nnone found -> error\nmultiple found -> require --manager <id>\nTypical workflow\nInspect pools/orderbook (deepbook spot pools, deepbook margin pools, deepbook orderbook ...).\nConfirm manager ID (deepbook manager ls).\nSimulate order (deepbook spot buy ... --dry-run).\nExecute live order (same command without --dry-run).\nMonitor with deepbook orderbook --watch and deepbook stream trades ...."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/astinz/deepbook-cli",
    "publisherUrl": "https://clawhub.ai/astinz/deepbook-cli",
    "owner": "astinz",
    "version": "0.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/deepbook-cli",
    "downloadUrl": "https://openagent3.xyz/downloads/deepbook-cli",
    "agentUrl": "https://openagent3.xyz/skills/deepbook-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/deepbook-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/deepbook-cli/agent.md"
  }
}