{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ccxt",
    "name": "ccxt",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/pcriadoperez/ccxt",
    "canonicalUrl": "https://clawhub.ai/pcriadoperez/ccxt",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ccxt",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ccxt",
    "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": "ccxt",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-11T19:38:19.100Z",
      "expiresAt": "2026-05-18T19:38:19.100Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ccxt",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ccxt",
        "contentDisposition": "attachment; filename=\"ccxt-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "ccxt"
      },
      "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/ccxt"
    },
    "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/ccxt",
    "agentPageUrl": "https://openagent3.xyz/skills/ccxt/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ccxt/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ccxt/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": "CCXT — Cryptocurrency Exchange Trading",
        "body": "You have access to the ccxt CLI tool which lets you interact with 100+ cryptocurrency exchanges (Binance, Bybit, OKX, Kraken, Coinbase, and many more). You can fetch market data, place orders, check balances, and stream live data."
      },
      {
        "title": "Core Syntax",
        "body": "ccxt <exchange_id> <methodName> [args...] [options]"
      },
      {
        "title": "Before Calling Any Method",
        "body": "If you're unsure about the required arguments for a method, run:\n\nccxt explain <methodName>\n\nThis will show you the required and optional arguments with descriptions."
      },
      {
        "title": "Available Options",
        "body": "FlagPurpose--verboseShow raw request/response data--sandboxUse testnet/sandbox environment--rawOutput clean JSON without formatting--swapTarget swap/perpetuals account--futureTarget futures account--spotTarget spot account--optionTarget options account--param key=valuePass extra exchange-specific params (repeatable)--no-keysSkip API key loading"
      },
      {
        "title": "Market Data (Public — No API Keys Required)",
        "body": "Fetch markets (list all trading pairs on an exchange):\n\nccxt <exchange> fetchMarkets --raw\n\nFetch a single ticker:\n\nccxt <exchange> fetchTicker \"BTC/USDT\" --raw\n\nFetch multiple tickers:\n\nccxt <exchange> fetchTickers --raw\n\nFetch order book:\n\nccxt <exchange> fetchOrderBook \"BTC/USDT\" --raw\n\nFetch OHLCV candles:\n\nccxt <exchange> fetchOHLCV \"BTC/USDT\" 1h undefined 10 --raw\n\nFetch recent trades:\n\nccxt <exchange> fetchTrades \"BTC/USDT\" --raw\n\nFetch exchange status:\n\nccxt <exchange> fetchStatus --raw\n\nFetch currencies:\n\nccxt <exchange> fetchCurrencies --raw"
      },
      {
        "title": "Trading (Private — Requires API Keys)",
        "body": "Create an order:\n\nccxt <exchange> createOrder \"BTC/USDT\" limit buy 0.001 50000 --raw\nccxt <exchange> createOrder \"BTC/USDT\" market buy 0.001 --raw\n\nCreate order with extra params:\n\nccxt <exchange> createOrder \"BTC/USDT\" limit buy 0.001 50000 --param stopPrice=49000 --raw\n\nCancel an order:\n\nccxt <exchange> cancelOrder \"<order_id>\" \"BTC/USDT\" --raw\n\nFetch open orders:\n\nccxt <exchange> fetchOpenOrders \"BTC/USDT\" --raw\n\nFetch closed orders:\n\nccxt <exchange> fetchClosedOrders \"BTC/USDT\" --raw\n\nFetch a specific order:\n\nccxt <exchange> fetchOrder \"<order_id>\" \"BTC/USDT\" --raw"
      },
      {
        "title": "Account (Private — Requires API Keys)",
        "body": "Fetch balance:\n\nccxt <exchange> fetchBalance --raw\n\nFetch balance for derivatives:\n\nccxt <exchange> fetchBalance --swap --raw\n\nFetch my trades:\n\nccxt <exchange> fetchMyTrades \"BTC/USDT\" --raw\n\nFetch positions (derivatives):\n\nccxt <exchange> fetchPositions --swap --raw\n\nFetch deposit address:\n\nccxt <exchange> fetchDepositAddress \"BTC\" --raw"
      },
      {
        "title": "Derivatives",
        "body": "Fetch funding rate:\n\nccxt <exchange> fetchFundingRate \"BTC/USDT:USDT\" --raw\n\nFetch funding rate history:\n\nccxt <exchange> fetchFundingRateHistory \"BTC/USDT:USDT\" --raw\n\nFetch mark price / index price:\n\nccxt <exchange> fetchMarkOHLCV \"BTC/USDT:USDT\" 1h --raw\nccxt <exchange> fetchIndexOHLCV \"BTC/USDT:USDT\" 1h --raw"
      },
      {
        "title": "Important Rules",
        "body": "Always quote symbols that contain / or : — e.g., \"BTC/USDT\", \"BTC/USDT:USDT\".\nUse undefined as a positional placeholder to skip optional arguments while providing later ones. For example: ccxt binance fetchOHLCV \"BTC/USDT\" 1h undefined 10 skips since but provides limit.\nUse --raw when you need to parse the output programmatically or when the user needs clean JSON.\nUse --sandbox for testing with testnet environments. Always recommend sandbox mode when the user is experimenting with orders.\nISO8601 datetimes (e.g., \"2025-01-01T00:00:00Z\") are auto-converted to milliseconds.\nAPI keys must be configured via environment variables (e.g., BINANCE_APIKEY, BINANCE_SECRET) or the config file. If a private method fails due to missing credentials, instruct the user to set them up.\nDerivatives symbols use the format \"BASE/QUOTE:SETTLE\" — e.g., \"BTC/USDT:USDT\" for USDT-margined perpetuals.\nBe careful with order methods — always confirm amounts and prices with the user before executing createOrder. The CLI executes immediately with no confirmation prompt.\nWhen the output is large (e.g., fetchMarkets returns hundreds of entries), consider piping through | head or filtering, or suggest the user narrows their query.\nFor the list of supported exchanges, you can check: ccxt exchanges or refer to https://docs.ccxt.com."
      },
      {
        "title": "Authentication Setup",
        "body": "Tell users to configure credentials in one of two ways:\n\nOption 1 — Environment variables:\n\nexport BINANCE_APIKEY=your_api_key\nexport BINANCE_SECRET=your_secret\n\nOption 2 — Config file (path shown in ccxt --help):\n\n{\n  \"binance\": {\n    \"apiKey\": \"your_api_key\",\n    \"secret\": \"your_secret\"\n  }\n}"
      },
      {
        "title": "Error Handling",
        "body": "If you get an AuthenticationError, the API keys are missing or invalid.\nIf you get an ExchangeNotAvailable or NetworkError, the exchange may be down or rate-limiting.\nIf you get an BadSymbol, the trading pair doesn't exist on that exchange — use fetchMarkets to check available pairs.\nIf you get an InsufficientFunds, the account doesn't have enough balance for the operation."
      }
    ],
    "body": "CCXT — Cryptocurrency Exchange Trading\n\nYou have access to the ccxt CLI tool which lets you interact with 100+ cryptocurrency exchanges (Binance, Bybit, OKX, Kraken, Coinbase, and many more). You can fetch market data, place orders, check balances, and stream live data.\n\nCore Syntax\nccxt <exchange_id> <methodName> [args...] [options]\n\nBefore Calling Any Method\n\nIf you're unsure about the required arguments for a method, run:\n\nccxt explain <methodName>\n\n\nThis will show you the required and optional arguments with descriptions.\n\nAvailable Options\nFlag\tPurpose\n--verbose\tShow raw request/response data\n--sandbox\tUse testnet/sandbox environment\n--raw\tOutput clean JSON without formatting\n--swap\tTarget swap/perpetuals account\n--future\tTarget futures account\n--spot\tTarget spot account\n--option\tTarget options account\n--param key=value\tPass extra exchange-specific params (repeatable)\n--no-keys\tSkip API key loading\nCommon Operations\nMarket Data (Public — No API Keys Required)\n\nFetch markets (list all trading pairs on an exchange):\n\nccxt <exchange> fetchMarkets --raw\n\n\nFetch a single ticker:\n\nccxt <exchange> fetchTicker \"BTC/USDT\" --raw\n\n\nFetch multiple tickers:\n\nccxt <exchange> fetchTickers --raw\n\n\nFetch order book:\n\nccxt <exchange> fetchOrderBook \"BTC/USDT\" --raw\n\n\nFetch OHLCV candles:\n\nccxt <exchange> fetchOHLCV \"BTC/USDT\" 1h undefined 10 --raw\n\n\nFetch recent trades:\n\nccxt <exchange> fetchTrades \"BTC/USDT\" --raw\n\n\nFetch exchange status:\n\nccxt <exchange> fetchStatus --raw\n\n\nFetch currencies:\n\nccxt <exchange> fetchCurrencies --raw\n\nTrading (Private — Requires API Keys)\n\nCreate an order:\n\nccxt <exchange> createOrder \"BTC/USDT\" limit buy 0.001 50000 --raw\nccxt <exchange> createOrder \"BTC/USDT\" market buy 0.001 --raw\n\n\nCreate order with extra params:\n\nccxt <exchange> createOrder \"BTC/USDT\" limit buy 0.001 50000 --param stopPrice=49000 --raw\n\n\nCancel an order:\n\nccxt <exchange> cancelOrder \"<order_id>\" \"BTC/USDT\" --raw\n\n\nFetch open orders:\n\nccxt <exchange> fetchOpenOrders \"BTC/USDT\" --raw\n\n\nFetch closed orders:\n\nccxt <exchange> fetchClosedOrders \"BTC/USDT\" --raw\n\n\nFetch a specific order:\n\nccxt <exchange> fetchOrder \"<order_id>\" \"BTC/USDT\" --raw\n\nAccount (Private — Requires API Keys)\n\nFetch balance:\n\nccxt <exchange> fetchBalance --raw\n\n\nFetch balance for derivatives:\n\nccxt <exchange> fetchBalance --swap --raw\n\n\nFetch my trades:\n\nccxt <exchange> fetchMyTrades \"BTC/USDT\" --raw\n\n\nFetch positions (derivatives):\n\nccxt <exchange> fetchPositions --swap --raw\n\n\nFetch deposit address:\n\nccxt <exchange> fetchDepositAddress \"BTC\" --raw\n\nDerivatives\n\nFetch funding rate:\n\nccxt <exchange> fetchFundingRate \"BTC/USDT:USDT\" --raw\n\n\nFetch funding rate history:\n\nccxt <exchange> fetchFundingRateHistory \"BTC/USDT:USDT\" --raw\n\n\nFetch mark price / index price:\n\nccxt <exchange> fetchMarkOHLCV \"BTC/USDT:USDT\" 1h --raw\nccxt <exchange> fetchIndexOHLCV \"BTC/USDT:USDT\" 1h --raw\n\nImportant Rules\nAlways quote symbols that contain / or : — e.g., \"BTC/USDT\", \"BTC/USDT:USDT\".\nUse undefined as a positional placeholder to skip optional arguments while providing later ones. For example: ccxt binance fetchOHLCV \"BTC/USDT\" 1h undefined 10 skips since but provides limit.\nUse --raw when you need to parse the output programmatically or when the user needs clean JSON.\nUse --sandbox for testing with testnet environments. Always recommend sandbox mode when the user is experimenting with orders.\nISO8601 datetimes (e.g., \"2025-01-01T00:00:00Z\") are auto-converted to milliseconds.\nAPI keys must be configured via environment variables (e.g., BINANCE_APIKEY, BINANCE_SECRET) or the config file. If a private method fails due to missing credentials, instruct the user to set them up.\nDerivatives symbols use the format \"BASE/QUOTE:SETTLE\" — e.g., \"BTC/USDT:USDT\" for USDT-margined perpetuals.\nBe careful with order methods — always confirm amounts and prices with the user before executing createOrder. The CLI executes immediately with no confirmation prompt.\nWhen the output is large (e.g., fetchMarkets returns hundreds of entries), consider piping through | head or filtering, or suggest the user narrows their query.\nFor the list of supported exchanges, you can check: ccxt exchanges or refer to https://docs.ccxt.com.\nAuthentication Setup\n\nTell users to configure credentials in one of two ways:\n\nOption 1 — Environment variables:\n\nexport BINANCE_APIKEY=your_api_key\nexport BINANCE_SECRET=your_secret\n\n\nOption 2 — Config file (path shown in ccxt --help):\n\n{\n  \"binance\": {\n    \"apiKey\": \"your_api_key\",\n    \"secret\": \"your_secret\"\n  }\n}\n\nError Handling\nIf you get an AuthenticationError, the API keys are missing or invalid.\nIf you get an ExchangeNotAvailable or NetworkError, the exchange may be down or rate-limiting.\nIf you get an BadSymbol, the trading pair doesn't exist on that exchange — use fetchMarkets to check available pairs.\nIf you get an InsufficientFunds, the account doesn't have enough balance for the operation."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/pcriadoperez/ccxt",
    "publisherUrl": "https://clawhub.ai/pcriadoperez/ccxt",
    "owner": "pcriadoperez",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ccxt",
    "downloadUrl": "https://openagent3.xyz/downloads/ccxt",
    "agentUrl": "https://openagent3.xyz/skills/ccxt/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ccxt/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ccxt/agent.md"
  }
}