Antes: leia o checklist de hardening. Setup descuidado de API key na Binance é um dos vetores de perda mais comuns.
Binance é a maior exchange crypto do mundo. APIs robustas, alta liquidez, bem documentada — boa escolha pra OpenClaw bots. Este guia cobre o setup completo do zero ao primeiro trade automatizado.
Pré-requisitos
- Conta Binance verificada (KYC completo)
- 2FA habilitado (Google Authenticator, não SMS)
- OpenClaw instalado num VPS dedicado
- IP fixo do VPS (DigitalOcean/Hetzner provêem)
Passo 1 — Criar API key
Em Account → API Management → Create API:
- Label:
openclaw-bot-001(algo identificável) - Confirme com 2FA
- Você recebe API Key + Secret Key — copie agora, o Secret só aparece uma vez
Passo 2 — Configurar permissões
Em Edit Restrictions, marque APENAS:
- ✅ Enable Reading — necessário pra ler saldo e preços
- ✅ Enable Spot & Margin Trading — necessário pra operar
- ❌ Enable Withdrawals — NUNCA habilite
- ❌ Enable Internal Transfer — NUNCA habilite
- ❌ Enable Universal Transfer — NUNCA habilite
- ❌ Permits Universal Transfer — NUNCA habilite
Pra futures (se for usar):
- ✅ Enable Futures
Passo 3 — IP whitelist (obrigatório)
Em Restrict access to trusted IPs only:
- Pegue o IP fixo do seu VPS
- Cole no campo (separe múltiplos com vírgula se necessário)
- Save
Mesmo que a API key vaze, sem o IP whitelisted o atacante não usa. Isto é a segunda camada mais importante depois de não habilitar withdrawals.
Passo 4 — Testnet primeiro
Antes de qualquer mainnet, teste em testnet.binance.vision:
- Crie testnet account separada
- Gere API keys testnet
- Receba fundos fake automaticamente
- Configure OpenClaw apontando pra testnet primeiro
- Opere 1-2 semanas antes de migrar pra mainnet
Passo 5 — Configurar OpenClaw
Instale a skill do Binance (oficial, auditada):
openclaw skill install @openclaw/skill-binance
Configure no arquivo de config (não no código!):
# ~/.openclaw/config.yml
binance:
api_key: "${BINANCE_API_KEY}"
api_secret: "${BINANCE_API_SECRET}"
testnet: false # true pra testnet
recv_window: 10000 # ms
Variáveis de ambiente no shell (não hardcode):
export BINANCE_API_KEY="..."
export BINANCE_API_SECRET="..."
Pra persistir, adicione ao ~/.bashrc ou use systemd service file.
Passo 6 — Primeiro trade de teste
No OpenClaw (mainnet, mas com lot mínimo):
openclaw chat "compre 0.0001 BTC a market price"
Verifique:
- Ordem aparece na sua conta Binance?
- Filled em segundos?
- Logs OpenClaw mostram a ordem corretamente?
Se sim, está funcionando. Cancele o trade ou venda back imediatamente.
Limites a configurar no código
Não dependa do LLM — implemente hardcoded:
- Max position size: 5% do saldo total
- Max ordens abertas: 3 simultâneas
- Max perda diária: 2% → kill switch automático
- Max trades por hora: 10 (anti-loop bug)
- Pares permitidos: whitelist específica (BTC/USDT, ETH/USDT)
Monitoring
Telegram alerts pra:
- Cada ordem placed e filled
- Erros de API (rate limit, network)
- Drawdown > 1% do saldo
- Bot reiniciou
- Disconnect / reconnect
Cuidados específicos da Binance
- Rate limits: 1200 weight/min por IP. Cuidado com loops agressivos.
- Minimum order size: varia por par. BTC/USDT min 10 USDT, alguns são 5 USDT.
- Tick size e lot size: não round arbitrário — use rules de cada par.
- Maintenance windows: Binance tem manutenções regulares. Bot precisa lidar com erros 503.
- Restricted countries: EUA, Canadá, Singapura restringidos. Verifique sua jurisdição.
Próximas leituras
- OpenClaw + Bybit Futures setup
- Binance vs Bybit vs OKX pra bots
- Funding rate arbitrage (estratégia popular pra Binance)
Setup feito. Próximo trabalho é estratégia. 🦞