Hot Wallet Hygiene para Bots: Separação de Tiers, Cold Storage, Recovery

Hot wallet hygiene pra bots: separação tiers, cold storage, recovery. Lições do ClawHavoc.

Quando seu bot opera, ele precisa acessar chaves privadas pra assinar transações. Essa "hot wallet" — wallet com chaves disponíveis — é o vetor de ataque #1 em incidentes de segurança crypto. O incidente ClawHavoc drenou US$ 30M+ exatamente porque vítimas tinham hot wallets carregadas demais. Esta página explica hot wallet hygiene séria.

Princípio fundamental: nunca tenha mais saldo no hot wallet do que o bot precisa pra próximas 24-48h. O resto fica em warm ou cold wallets.

A estrutura de 3 tiers

Tier 1 — Hot Wallet (operacional)

  • Chave: acessível ao bot
  • Saldo: só o necessário pra 24-48h de operação
  • Localização: arquivo encriptado no VPS, com decrypt key em variável de ambiente
  • Risco aceito: esse saldo é o que você está OK em perder se o pior acontecer

Pra exemplo: se seu bot opera US$ 100 de volume diário, hot wallet com US$ 500-1000 é suficiente. Não tenha US$ 50.000 no hot wallet "por garantia".

Tier 2 — Warm Wallet (intermediária)

  • Chave: em hardware wallet (Ledger, Trezor) ou em paper signed
  • Saldo: reserva pra recargar hot wallet semanal/mensal
  • Localização: chave física com você, fora do VPS
  • Função: ponte entre cold storage e operação

Quando hot wallet baixa, você (manualmente ou via bot externo) transfere de warm pra hot.

Tier 3 — Cold Storage (reserva)

  • Chave: hardware wallet offline + recovery phrase em papel
  • Saldo: a maioria dos fundos
  • Localização: física, segura (cofre, banco)
  • Acesso: raríssimo — só pra realocação grande

Configuração técnica do hot wallet no VPS

Várias opções, em ordem crescente de segurança:

Nível 1 — Variável de ambiente (mínimo aceitável)

export WALLET_PRIVATE_KEY="..."

Pros: simples. Contras: se VPS for comprometido, chave vazada imediatamente.

Nível 2 — Arquivo encriptado + decrypt em runtime

# Arquivo encriptado em disk
~/.openclaw/wallet.enc

# Decrypt em runtime usando senha em env var
WALLET_PASSWORD=... openclaw start

Pros: mais difícil de extrair de dump de disco. Contras: senha ainda fica em memória.

Nível 3 — HSM cloud (avançado)

AWS KMS, Google Cloud HSM, ou equivalente. Bot pede signing pra HSM remotamente, nunca tem acesso direto à chave. Pros: chave nunca está na sua máquina. Contras: latência, custo, dependência de provedor.

Recovery — quando algo dá errado

Se você suspeita comprometimento:

  1. Pare o bot imediatamente (kill switch ou SSH)
  2. Transfira saldo do hot wallet pra warm/cold usando dispositivo SEPARADO (não o VPS comprometido)
  3. Revogue API keys de todas exchanges
  4. Audite logs antes de qualquer reset
  5. Gere wallets NOVAS (não reutilize as comprometidas)
  6. Investigue o vetor antes de subir tudo de novo

Recovery phrase — onde guardar

Recovery phrase (12-24 palavras) é o que recupera a wallet inteira. Se vazar, atacante tem TUDO.

NUNCA:

  • ❌ Em screenshot no celular
  • ❌ Em foto no Google Drive ou iCloud
  • ❌ Em arquivo de texto no PC
  • ❌ Em email pra si mesmo
  • ❌ Em password manager (mesmo bom — risco concentrado)

SIM:

  • ✅ Escrita em papel, em local físico seguro
  • ✅ Gravada em metal (cryptosteel, billfodl) pra durabilidade
  • ✅ Cópia em segundo local (família, cofre de banco)
  • ✅ Shamir Secret Sharing pra dividir entre múltiplos locais

Hot wallet hygiene em exchanges

O mesmo princípio aplica a fundos em exchange (que tecnicamente é "hot wallet da exchange"):

  • Não deixe mais na exchange do que o bot precisa
  • Reserve em wallet self-custódia (hardware wallet)
  • FTX, Celsius, Voyager mostraram: exchange grande não é garantia

Para diferentes níveis de capital

Pequeno (< US$ 5.000 total)

  • Hot: US$ 500-1000 no bot
  • Warm: hardware wallet (Ledger Nano S US$ 80)
  • Cold: papel + segundo local

Médio (US$ 5.000 - 50.000)

  • Hot: 5-10% do total no bot
  • Warm: hardware wallet dedicada
  • Cold: hardware wallet separada offline + recovery phrase em cofre

Grande (> US$ 50.000)

  • Hot: máximo 2% do total
  • Multi-sig wallets pra warm/cold (2-of-3, 3-of-5)
  • Cold storage geograficamente distribuído
  • Considere custodial service profissional (BitGo, Fireblocks)

Custos de boa hygiene

  • Hardware wallet: US$ 80-200 one-time
  • Backup metal: US$ 50-150 one-time
  • Tempo de setup: 4-8 horas inicial
  • Tempo de manutenção: ~30min mensal pra rebalances

Pra capital significativo, esse esforço se paga em 1 incidente evitado.

Próximas leituras

Hot wallet hygiene não é paranoia. É a diferença entre ficar OK em incidente e perder tudo. 🦞