Skip to main content

Universal CCXT tool for Strands Agents - cryptocurrency exchange integration

Project description

strands-ccxt

Universal CCXT tool for Strands Agents - trade on 100+ cryptocurrency exchanges.

Installation

pip install strands-ccxt

# With WebSocket support (ccxt.pro)
pip install strands-ccxt[pro]

Quick Start

from strands import Agent
from strands_ccxt import use_ccxt

agent = Agent(tools=[use_ccxt])

# Fetch BTC price
agent("What's the current BTC/USDT price on Bybit?")

# Compare prices across exchanges
agent("Compare BTC/USDT orderbooks on Binance, Bybit, and OKX")

Configuration

Set credentials via environment variables:

# Generic (works for any exchange)
export CCXT_EXCHANGE=bybit
export CCXT_API_KEY=your_api_key
export CCXT_SECRET=your_secret

# Or exchange-specific
export BYBIT_API_KEY=your_api_key
export BYBIT_API_SECRET=your_secret

# Optional
export CCXT_DEFAULT_TYPE=swap    # spot, swap, future
export CCXT_SANDBOX=true         # Enable testnet
export CCXT_TIMEOUT=30000        # Request timeout (ms)

Actions

Discovery

Action Description
list_exchanges List all 100+ supported exchanges
describe Get exchange capabilities and info
list_methods List available API methods
load_markets Load trading pairs/symbols

Market Data

Action Description
fetch_ticker Get ticker for a symbol
fetch_tickers Get all tickers
fetch_orderbook Get order book
fetch_ohlcv Get OHLCV candles
fetch_trades Get recent trades

Trading

Action Description
create_order Create buy/sell order
cancel_order Cancel an order
fetch_order Get order details
fetch_orders Get all orders
fetch_open_orders Get open orders
fetch_closed_orders Get closed orders

Account

Action Description
fetch_balance Get account balance
fetch_positions Get open positions
fetch_my_trades Get trade history

Multi-Exchange

Action Description
multi_orderbook Compare orderbooks across exchanges

WebSocket (requires [pro])

Action Description
watch_ticker Stream ticker updates
watch_orderbook Stream orderbook updates
watch_trades Stream trade updates
watch_ohlcv Stream OHLCV updates

Generic

Action Description
call Call any exchange method directly

Examples

Fetch Ticker

use_ccxt(
    action="fetch_ticker",
    exchange="bybit",
    symbol="BTC/USDT"
)

Fetch OHLCV Candles

use_ccxt(
    action="fetch_ohlcv",
    symbol="BTC/USDT",
    timeframe="1h",
    limit=100
)

Create Order

use_ccxt(
    action="create_order",
    symbol="BTC/USDT",
    side="buy",
    order_type="limit",
    amount=0.001,
    price=50000
)

Compare Orderbooks

use_ccxt(
    action="multi_orderbook",
    exchanges='["binance", "bybit", "okx"]',
    symbol="BTC/USDT"
)

Stream via WebSocket

use_ccxt(
    action="watch_ticker",
    symbol="BTC/USDT",
    max_messages=10,
    max_seconds=30
)

Call Any Method

use_ccxt(
    action="call",
    method="fetch_funding_rate",
    args='["BTC/USDT:USDT"]'
)

Parameters

Parameter Type Description
action str Operation to perform (required)
exchange str Exchange ID (e.g., "bybit")
symbol str Trading pair (e.g., "BTC/USDT")
method str Method name for call action
args str JSON array of positional arguments
kwargs str JSON object of keyword arguments
config str JSON object for exchange config
side str Order side: "buy" or "sell"
order_type str Order type: "market", "limit"
amount float Order quantity
price float Order price (limit orders)
order_id str Order ID for cancel/fetch
exchanges str JSON array of exchange IDs
timeframe str OHLCV timeframe (default: "1m")
limit int Number of results (default: 100)
max_messages int WebSocket message limit (default: 5)
max_seconds int WebSocket time limit (default: 15)

Supported Exchanges

100+ exchanges including:

  • Binance, Binance US, Binance Futures
  • Bybit (spot, derivatives)
  • OKX (OKEx)
  • Coinbase, Coinbase Pro
  • Kraken, Kraken Futures
  • KuCoin, KuCoin Futures
  • Gate.io
  • Bitget
  • MEXC
  • HTX (Huobi)
  • Bitfinex
  • Gemini
  • Bitstamp
  • And many more...

Use use_ccxt(action="list_exchanges") for the full list.

Security

  • API credentials are never logged or returned in responses
  • Sensitive data is automatically redacted from output
  • Supports exchange sandbox/testnet modes

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

strands_ccxt-0.1.0.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

strands_ccxt-0.1.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file strands_ccxt-0.1.0.tar.gz.

File metadata

  • Download URL: strands_ccxt-0.1.0.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for strands_ccxt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3c75da0a07205371be11a3c8dbfdad349c38c03288f6188c4e24b28c4ac4ec8d
MD5 5be1bac6b95169675da56a21d09efb3f
BLAKE2b-256 5e130a12f84af5d96a161f1ed315a437b54061bb478946068bb2f2539073c432

See more details on using hashes here.

File details

Details for the file strands_ccxt-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: strands_ccxt-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for strands_ccxt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78dd778d25b37d2f11c2a3f5ae522504a114de74d119f7b3df607de951076074
MD5 1d6f21b0b374b202f49dd93c5975959b
BLAKE2b-256 20c1d10bfc242fd41992b18454262006c36b5d64ab0da4e41a663b7785abb808

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page