Playbook de Incidentes
Procedimentos de resposta para problemas comuns.
Problemas de Conexão
Desconexão do WebSocket
Sintomas: Conexão WebSocket perdida, nenhuma mensagem recebida
Ações:
- Implemente reconexão automática com backoff exponencial
- Consulte os endpoints REST para recuperar atualizações perdidas
- Reassine todos os canais após a reconexão
Prevenção: Monitore o status da conexão e implemente uma lógica de reconexão robusta
Timeout da API
Sintomas: Requisições REST expiram ou retornam erros 5xx
Ações:
- Tente novamente com backoff exponencial
- Verifique o endpoint de saúde:
GET /health - Reduza a taxa de requisições se o sistema estiver sobrecarregado
Prevenção: Implemente throttling de requisições e circuit breakers
Problemas com Ordens
Alta Taxa de Rejeição
Sintomas: Muitas ordens rejeitadas
Investigação:
- Verifique os motivos de rejeição via
GET /orders?wallet=... - Revise a margem:
GET /portfolio?wallet=... - Verifique o tier:
GET /user-tier?wallet=... - Confirme que os instrumentos não estão vencidos:
GET /instruments
Ações:
- Se forem problemas de margem: Reduza o tamanho da posição ou adicione colateral
- Se forem problemas de tier: Faça upgrade para tier2 ou cubra as vendas
- Se estiverem vencidos: Use instrumentos diferentes
Execuções (Fills) Ausentes
Sintomas: Ordens executadas, mas sem notificações de fill
Investigação:
- Verifique
GET /fills?wallet=...para os fills - Verifique a assinatura do canal
fillsdo WebSocket - Verifique o status da conexão WebSocket
Ações:
- Reassine o canal
fills - Consulte o endpoint REST para fills perdidos
- Reconcilie os fills com o status das ordens
Status de Ordem Desatualizado
Sintomas: O status da ordem no REST não corresponde ao WS
Investigação:
- Verifique o status da conexão WebSocket
- Verifique se o cache de ordens está atualizado
- Compare o status das ordens entre REST e WS
Ações:
- Consulte o REST após a reconexão do WS para se atualizar
- Use o REST como fonte de verdade para a reconciliação
Problemas de MMP
MMP Dispara com Muita Frequência
Sintomas: Muitas ordens canceladas pelo MMP
Investigação:
- Verifique a configuração do MMP:
GET /mmp-config?wallet=...¤cy=... - Revise os padrões de fills e as métricas cumulativas
- Verifique se os limites estão muito baixos
Ações:
- Aumente os limites do MMP (qty, delta, vega)
- Aumente
interval_mspara permitir mais fills na janela - Reduza a frequência de cotação
MMP Não Dispara
Sintomas: Fills excedem os limites, mas o MMP não dispara
Investigação:
- Verifique se o MMP está habilitado:
GET /mmp-config?wallet=...¤cy=... - Verifique
mmp_enabled=truenas ordens - Verifique se a moeda corresponde ao ativo subjacente da ordem
Ações:
- Habilite o MMP nas ordens:
mmp_enabled=true - Configure o MMP para a moeda correta
- Ajuste os limites, se necessário
Problemas de Margem
Margem Insuficiente
Sintomas: Ordens rejeitadas com "Insufficient margin"
Investigação:
- Verifique o portfólio:
GET /portfolio?wallet=... - Revise o cálculo de margem
- Verifique qual cenário está falhando
Ações:
- Reduza o tamanho da posição
- Adicione colateral (quando o fluxo de depósito estiver implementado)
- Feche posições para liberar margem
- Faça hedge da exposição para reduzir a perda no pior cenário
Preço Spot Ausente
Sintomas: Ordens rejeitadas com "No spot price available"
Investigação:
- Verifique a conectividade do feed de preço spot da Hyperliquid
- Verifique se o símbolo do ativo subjacente está correto
- Verifique se o feed de preço spot está operacional
Ações:
- Aguarde a recuperação do feed de preço spot
- Use outro ativo subjacente, se disponível
- Contate o suporte se o problema persistir
Problemas de Sistema
Alta Latência
Sintomas: Respostas lentas da API ou atrasos nas mensagens do WebSocket
Investigação:
- Verifique a carga do sistema
- Monitore os tempos de resposta
- Verifique a conectividade de rede
Ações:
- Reduza a taxa de requisições
- Implemente throttling de requisições
- Contate o suporte se o problema persistir
Rate Limiting
Sintomas: Requisições rejeitadas ou limitadas
Atual: O rate limiting é aplicado por carteira. Veja Limites de Taxa para detalhes.
Ações:
- Verifique o header
Retry-Aftere aguarde antes de tentar novamente - Monitore
X-RateLimit-Remainingpara evitar atingir os limites - Use endpoints em lote (bulk) quando possível
Procedimentos de Emergência
Kill Switch
Ações imediatas:
- Cancele todas as ordens:
DELETE /bulk_orderouDELETE /bulk_order_cloid - Desconecte o WebSocket
- Pare o sistema de cotação
Recuperação:
- Verifique se todas as ordens foram canceladas:
GET /orders?wallet=... - Revise o portfólio:
GET /portfolio?wallet=... - Investigue a causa raiz
- Retome a cotação após a resolução do problema
Reconciliação de Dados
Após o incidente:
- Consulte os endpoints REST para obter o estado atual
- Reconcilie as ordens:
GET /orders?wallet=... - Reconcilie os fills:
GET /fills?wallet=... - Reconcilie o portfólio:
GET /portfolio?wallet=... - Retome as assinaturas do WebSocket
Escalonamento
Se o problema persistir:
- Revise os problemas conhecidos e os avisos de staging fornecidos com o acesso
- Consulte os Runbooks para procedimentos detalhados
- Contate o suporte com:
- Endereço da carteira
- Mensagens de erro
- Timestamps
- Passos para reproduzir