{
  "schemaVersion": "1.0",
  "item": {
    "slug": "kraken-pro",
    "name": "Kraken Pro",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/in-liberty420/kraken-pro",
    "canonicalUrl": "https://clawhub.ai/in-liberty420/kraken-pro",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/kraken-pro",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=kraken-pro",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "kraken_cli.py",
      "requirements.txt"
    ],
    "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",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/kraken-pro"
    },
    "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/kraken-pro",
    "agentPageUrl": "https://openagent3.xyz/skills/kraken-pro/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kraken-pro/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kraken-pro/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": "Kraken Skill",
        "body": "Manage your Kraken exchange account via CLI."
      },
      {
        "title": "Setup",
        "body": "pip3 install -r requirements.txt\n\nSet credentials via environment variables or OpenClaw config (skills.entries.kraken-pro.env).\n\nGet API key: https://www.kraken.com/u/security/api"
      },
      {
        "title": "Commands",
        "body": "Run: python3 kraken_cli.py <command> [options]\n\nAll commands accept --json for raw JSON output."
      },
      {
        "title": "Portfolio (auth required)",
        "body": "CommandDescriptionsummaryPortfolio overview (handles flex vs bonded earn correctly)net-worthSingle net worth numberholdingsAsset breakdown with USD valuesbalanceRaw asset quantities"
      },
      {
        "title": "Market Data (no auth)",
        "body": "CommandDescriptionticker --pair XBTUSDPrice and 24h statspairsTrading pairsassetsAsset list"
      },
      {
        "title": "Order History (auth required)",
        "body": "CommandDescriptionopen-ordersActive ordersclosed-orders [--limit N]Completed orderstrades [--limit N] [--csv]Trade execution history (CSV for export)"
      },
      {
        "title": "Ledger (auth required)",
        "body": "ledger [--start YYYY-MM-DD] [--end YYYY-MM-DD] [--asset BTC] [--type trade|deposit|withdrawal|staking] [--csv] [--limit N]\n\nAuto-paginates (Kraken returns max 50/request). --csv dumps raw Kraken data."
      },
      {
        "title": "Trading (auth required)",
        "body": "All trading commands require --confirm. Use --validate for dry-run.\n\nCommandDescriptionbuy --pair XBTUSD --type market|limit --amount N [--price P] --confirmPlace buy ordersell --pair XBTUSD --type market|limit --amount N [--price P] --confirmPlace sell ordercancel-order --id OXXXXX --confirmCancel specific ordercancel-all --confirmCancel all open orders\n\nAlways confirm with the user before placing real orders. Use --validate first."
      },
      {
        "title": "Earn/Staking (auth required)",
        "body": "CommandDescriptionearn-positionsCurrent staking allocationsearn-strategiesAvailable yield programsearn-statusPending requestsearn-allocate --strategy-id ID --amount N --confirmStake fundsearn-deallocate --strategy-id ID --amount N --confirmUnstake funds"
      },
      {
        "title": "Funding (auth required)",
        "body": "CommandDescriptiondeposit-methods --asset BTCDeposit methods for an assetdeposit-address --asset BTCGet deposit addresswithdraw --asset BTC --key NAME --amount N --confirmWithdraw to saved addresswithdraw-statusRecent withdrawal status\n\nWithdrawal notes:\n\nAddresses must be pre-configured in Kraken's web UI (can't add via API)\nCan't list saved address names via API — ask the user for the key name\nAddresses are per-asset: a SOL address won't work for USDC withdrawals even if it's the same wallet. Each asset needs its own entry.\n--key is the saved address name in Kraken, not the actual address"
      },
      {
        "title": "Example Usage",
        "body": "User RequestCommandWhat's my portfolio?summaryBTC price?ticker --pair XBTUSDExport 2025 ledger for taxesledger --start 2025-01-01 --end 2025-12-31 --csvExport trade historytrades --csvBuy 0.1 BTC at marketbuy --pair XBTUSD --type market --amount 0.1 --confirmShow staking positionsearn-positions"
      },
      {
        "title": "Kraken Pair Naming",
        "body": "Kraken uses non-standard names: XBT (not BTC), XETH (not ETH), Z-prefix for fiat (ZUSD, ZCAD). When unsure of a pair name, run pairs --json and grep for the asset."
      },
      {
        "title": "Portfolio Logic",
        "body": "Kraken has two earn types:\n\nAuto Earn (flex): in main wallet, included in trade balance equity\nBonded staking: separate earn wallet, NOT in trade balance\n\nsummary calculates: Total = Trade Balance Equity + Bonded Staking Only"
      },
      {
        "title": "API Permissions",
        "body": "FeaturePermissionBalances, portfolio, ledgerQuery FundsOrders, trades (view)Query Open/Closed Orders & TradesPlace/cancel ordersCreate & Modify OrdersEarn allocate/deallocateWithdraw FundsWithdrawalsWithdraw FundsMarket dataNone"
      }
    ],
    "body": "Kraken Skill\n\nManage your Kraken exchange account via CLI.\n\nSetup\npip3 install -r requirements.txt\n\n\nSet credentials via environment variables or OpenClaw config (skills.entries.kraken-pro.env).\n\nGet API key: https://www.kraken.com/u/security/api\n\nCommands\n\nRun: python3 kraken_cli.py <command> [options]\n\nAll commands accept --json for raw JSON output.\n\nPortfolio (auth required)\nCommand\tDescription\nsummary\tPortfolio overview (handles flex vs bonded earn correctly)\nnet-worth\tSingle net worth number\nholdings\tAsset breakdown with USD values\nbalance\tRaw asset quantities\nMarket Data (no auth)\nCommand\tDescription\nticker --pair XBTUSD\tPrice and 24h stats\npairs\tTrading pairs\nassets\tAsset list\nOrder History (auth required)\nCommand\tDescription\nopen-orders\tActive orders\nclosed-orders [--limit N]\tCompleted orders\ntrades [--limit N] [--csv]\tTrade execution history (CSV for export)\nLedger (auth required)\nledger [--start YYYY-MM-DD] [--end YYYY-MM-DD] [--asset BTC] [--type trade|deposit|withdrawal|staking] [--csv] [--limit N]\n\n\nAuto-paginates (Kraken returns max 50/request). --csv dumps raw Kraken data.\n\nTrading (auth required)\n\nAll trading commands require --confirm. Use --validate for dry-run.\n\nCommand\tDescription\nbuy --pair XBTUSD --type market|limit --amount N [--price P] --confirm\tPlace buy order\nsell --pair XBTUSD --type market|limit --amount N [--price P] --confirm\tPlace sell order\ncancel-order --id OXXXXX --confirm\tCancel specific order\ncancel-all --confirm\tCancel all open orders\n\nAlways confirm with the user before placing real orders. Use --validate first.\n\nEarn/Staking (auth required)\nCommand\tDescription\nearn-positions\tCurrent staking allocations\nearn-strategies\tAvailable yield programs\nearn-status\tPending requests\nearn-allocate --strategy-id ID --amount N --confirm\tStake funds\nearn-deallocate --strategy-id ID --amount N --confirm\tUnstake funds\nFunding (auth required)\nCommand\tDescription\ndeposit-methods --asset BTC\tDeposit methods for an asset\ndeposit-address --asset BTC\tGet deposit address\nwithdraw --asset BTC --key NAME --amount N --confirm\tWithdraw to saved address\nwithdraw-status\tRecent withdrawal status\n\nWithdrawal notes:\n\nAddresses must be pre-configured in Kraken's web UI (can't add via API)\nCan't list saved address names via API — ask the user for the key name\nAddresses are per-asset: a SOL address won't work for USDC withdrawals even if it's the same wallet. Each asset needs its own entry.\n--key is the saved address name in Kraken, not the actual address\nExample Usage\nUser Request\tCommand\nWhat's my portfolio?\tsummary\nBTC price?\tticker --pair XBTUSD\nExport 2025 ledger for taxes\tledger --start 2025-01-01 --end 2025-12-31 --csv\nExport trade history\ttrades --csv\nBuy 0.1 BTC at market\tbuy --pair XBTUSD --type market --amount 0.1 --confirm\nShow staking positions\tearn-positions\nKraken Pair Naming\n\nKraken uses non-standard names: XBT (not BTC), XETH (not ETH), Z-prefix for fiat (ZUSD, ZCAD). When unsure of a pair name, run pairs --json and grep for the asset.\n\nPortfolio Logic\n\nKraken has two earn types:\n\nAuto Earn (flex): in main wallet, included in trade balance equity\nBonded staking: separate earn wallet, NOT in trade balance\n\nsummary calculates: Total = Trade Balance Equity + Bonded Staking Only\n\nAPI Permissions\nFeature\tPermission\nBalances, portfolio, ledger\tQuery Funds\nOrders, trades (view)\tQuery Open/Closed Orders & Trades\nPlace/cancel orders\tCreate & Modify Orders\nEarn allocate/deallocate\tWithdraw Funds\nWithdrawals\tWithdraw Funds\nMarket data\tNone"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/in-liberty420/kraken-pro",
    "publisherUrl": "https://clawhub.ai/in-liberty420/kraken-pro",
    "owner": "in-liberty420",
    "version": "1.0.6",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/kraken-pro",
    "downloadUrl": "https://openagent3.xyz/downloads/kraken-pro",
    "agentUrl": "https://openagent3.xyz/skills/kraken-pro/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kraken-pro/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kraken-pro/agent.md"
  }
}