CCXT (Crypto Currency eXchange Trading Library) é uma das bibliotecas open-source mais usadas em crypto. Fornece interface unificada pra interagir com 100+ exchanges via mesma API. A skill @openclaw/skill-ccxt traz isso pro OpenClaw.
O que CCXT resolve
Sem CCXT, conectar OpenClaw a 5 exchanges = 5 implementações diferentes. Cada exchange tem:
- Naming diferente pra mesmos conceitos (BTC/USDT vs BTC-USDT vs BTCUSDT)
- Auth diferente (HMAC, JWT, API key + signed nonce)
- Response formats diferentes
- Rate limits diferentes
CCXT abstrai tudo isso. Você fala uma única API, ele traduz pra cada exchange.
Instalação
openclaw skill install @openclaw/skill-ccxt
Configure as exchanges que vai usar:
# ~/.openclaw/config.yml
ccxt:
exchanges:
binance:
api_key: "${BINANCE_API_KEY}"
secret: "${BINANCE_API_SECRET}"
bybit:
api_key: "${BYBIT_API_KEY}"
secret: "${BYBIT_API_SECRET}"
okx:
api_key: "${OKX_API_KEY}"
secret: "${OKX_API_SECRET}"
password: "${OKX_PASSPHRASE}" # OKX exige passphrase
Tools que a skill expõe
ccxt_get_ticker(exchange, symbol)— preço atual de um parccxt_get_balance(exchange)— saldosccxt_create_order(exchange, symbol, side, type, amount, price?)— criar ordemccxt_cancel_order(exchange, id, symbol)— cancelar ordemccxt_fetch_order_book(exchange, symbol, depth?)— orderbookccxt_fetch_my_trades(exchange, symbol?)— histórico próprioccxt_get_funding_rate(exchange, symbol)— funding rate (futures)
Casos de uso ideais
1. Cross-exchange arbitrage
Comprar BTC mais barato em Bybit, vender mais caro em OKX (após accounting de fees + withdrawal time). CCXT simplifica polling de preço em N exchanges simultâneas.
2. Funding rate arbitrage cross-exchange
Quando funding rate diverge entre Binance e Bybit, abrir posições opostas em cada uma. CCXT permite mesma lógica funcionar em ambas.
3. Failover
Se uma exchange tem outage, bot automaticamente migra trades pra outra. Possível com CCXT por causa da interface unificada.
4. Bot multi-tenant
Mesmo bot servindo múltiplos usuários em exchanges diferentes (cada um com suas API keys). Útil pra ofertas em B2B.
Limitações importantes
1. Features específicas de exchange ficam fora
CCXT abstrai o common ground. Features únicas (ex: Binance's Convert, OKX's Trading Bots) não estão em CCXT. Pra essas, precisa skill específica.
2. Latência adicional
Camada de abstração adiciona alguns ms. Pra HFT importaria; pra OpenClaw normal não.
3. Rate limits ainda são por exchange
CCXT não burla limits. Bot precisa respeitá-los por exchange.
4. Updates de exchange podem quebrar CCXT
Quando exchange muda API, CCXT precisa atualizar. Geralmente é rápido (comunidade ativa) mas pode haver gaps de 1-2 dias.
Best practices
- Pin a versão da skill CCXT — não use "latest"
- Teste em testnet de cada exchange antes de mainnet
- Logs detalhados de todas calls (CCXT pode ter bugs em casos edge)
- Fallback manual pra exchanges críticas (skill nativa como backup)
- Retry com backoff em network errors
Quando NÃO usar CCXT
- Você só usa UMA exchange → use a skill nativa daquela exchange
- Você precisa de features específicas de uma exchange → skill nativa
- Latência é crítica → skill nativa, não CCXT
- Você quer ter controle completo sobre auth e error handling
Quando usar CCXT
- Multi-exchange é parte da estratégia (arbitragem, failover)
- Você é developer e quer prototipar rapidamente em várias exchanges
- Você precisa do mesmo código rodando em N setups diferentes
Custo de operar com CCXT
A biblioteca em si é grátis (open-source MIT). Custos reais:
- Manutenção: mais complexidade que skills nativas
- Debug: quando algo dá errado, você lida com 2 camadas (CCXT + exchange)
- Updates: dependência de quem mantém CCXT
Próximas leituras
- Funding rate arbitrage (uso clássico de CCXT)
- Arbitragem retail — expectativas realistas
- Comparação de exchanges
CCXT é ferramenta poderosa quando usada certo. Não-bala-de-prata, mas próximo. 🦞