# Send ccxt to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- 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.
## Suggested prompts
### New install

```text
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.
```
### Upgrade existing

```text
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.
```
## Machine-readable fields
```json
{
  "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": {
    "downloadUrl": "/downloads/ccxt",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ccxt",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "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."
      ]
    }
  },
  "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"
  }
}
```
## Documentation

### CCXT — Cryptocurrency Exchange Trading

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.

### Core Syntax

ccxt <exchange_id> <methodName> [args...] [options]

### Before Calling Any Method

If you're unsure about the required arguments for a method, run:

ccxt explain <methodName>

This will show you the required and optional arguments with descriptions.

### Available Options

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

### Market Data (Public — No API Keys Required)

Fetch markets (list all trading pairs on an exchange):

ccxt <exchange> fetchMarkets --raw

Fetch a single ticker:

ccxt <exchange> fetchTicker "BTC/USDT" --raw

Fetch multiple tickers:

ccxt <exchange> fetchTickers --raw

Fetch order book:

ccxt <exchange> fetchOrderBook "BTC/USDT" --raw

Fetch OHLCV candles:

ccxt <exchange> fetchOHLCV "BTC/USDT" 1h undefined 10 --raw

Fetch recent trades:

ccxt <exchange> fetchTrades "BTC/USDT" --raw

Fetch exchange status:

ccxt <exchange> fetchStatus --raw

Fetch currencies:

ccxt <exchange> fetchCurrencies --raw

### Trading (Private — Requires API Keys)

Create an order:

ccxt <exchange> createOrder "BTC/USDT" limit buy 0.001 50000 --raw
ccxt <exchange> createOrder "BTC/USDT" market buy 0.001 --raw

Create order with extra params:

ccxt <exchange> createOrder "BTC/USDT" limit buy 0.001 50000 --param stopPrice=49000 --raw

Cancel an order:

ccxt <exchange> cancelOrder "<order_id>" "BTC/USDT" --raw

Fetch open orders:

ccxt <exchange> fetchOpenOrders "BTC/USDT" --raw

Fetch closed orders:

ccxt <exchange> fetchClosedOrders "BTC/USDT" --raw

Fetch a specific order:

ccxt <exchange> fetchOrder "<order_id>" "BTC/USDT" --raw

### Account (Private — Requires API Keys)

Fetch balance:

ccxt <exchange> fetchBalance --raw

Fetch balance for derivatives:

ccxt <exchange> fetchBalance --swap --raw

Fetch my trades:

ccxt <exchange> fetchMyTrades "BTC/USDT" --raw

Fetch positions (derivatives):

ccxt <exchange> fetchPositions --swap --raw

Fetch deposit address:

ccxt <exchange> fetchDepositAddress "BTC" --raw

### Derivatives

Fetch funding rate:

ccxt <exchange> fetchFundingRate "BTC/USDT:USDT" --raw

Fetch funding rate history:

ccxt <exchange> fetchFundingRateHistory "BTC/USDT:USDT" --raw

Fetch mark price / index price:

ccxt <exchange> fetchMarkOHLCV "BTC/USDT:USDT" 1h --raw
ccxt <exchange> fetchIndexOHLCV "BTC/USDT:USDT" 1h --raw

### Important Rules

Always quote symbols that contain / or : — e.g., "BTC/USDT", "BTC/USDT:USDT".
Use 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.
Use --raw when you need to parse the output programmatically or when the user needs clean JSON.
Use --sandbox for testing with testnet environments. Always recommend sandbox mode when the user is experimenting with orders.
ISO8601 datetimes (e.g., "2025-01-01T00:00:00Z") are auto-converted to milliseconds.
API 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.
Derivatives symbols use the format "BASE/QUOTE:SETTLE" — e.g., "BTC/USDT:USDT" for USDT-margined perpetuals.
Be careful with order methods — always confirm amounts and prices with the user before executing createOrder. The CLI executes immediately with no confirmation prompt.
When the output is large (e.g., fetchMarkets returns hundreds of entries), consider piping through | head or filtering, or suggest the user narrows their query.
For the list of supported exchanges, you can check: ccxt exchanges or refer to https://docs.ccxt.com.

### Authentication Setup

Tell users to configure credentials in one of two ways:

Option 1 — Environment variables:

export BINANCE_APIKEY=your_api_key
export BINANCE_SECRET=your_secret

Option 2 — Config file (path shown in ccxt --help):

{
  "binance": {
    "apiKey": "your_api_key",
    "secret": "your_secret"
  }
}

### Error Handling

If you get an AuthenticationError, the API keys are missing or invalid.
If you get an ExchangeNotAvailable or NetworkError, the exchange may be down or rate-limiting.
If you get an BadSymbol, the trading pair doesn't exist on that exchange — use fetchMarkets to check available pairs.
If you get an InsufficientFunds, the account doesn't have enough balance for the operation.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: pcriadoperez
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-11T19:38:19.100Z
- Expires at: 2026-05-18T19:38:19.100Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/ccxt)
- [Send to Agent page](https://openagent3.xyz/skills/ccxt/agent)
- [JSON manifest](https://openagent3.xyz/skills/ccxt/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/ccxt/agent.md)
- [Download page](https://openagent3.xyz/downloads/ccxt)