Playbook d'incidents
Procédures de réponse aux problèmes courants.
Problèmes de connexion
Déconnexion WebSocket
Symptômes : connexion WebSocket perdue, aucun message reçu
Actions :
- Mettez en place une reconnexion automatique avec backoff exponentiel
- Interrogez les endpoints REST pour rattraper les mises à jour manquées
- Réabonnez-vous à tous les canaux après la reconnexion
Prévention : surveillez l'état de la connexion et implémentez une logique de reconnexion robuste
Timeout de l'API
Symptômes : les requêtes REST expirent ou renvoient des erreurs 5xx
Actions :
- Relancez avec un backoff exponentiel
- Vérifiez l'endpoint de santé :
GET /health - Réduisez le débit de requêtes si le système est surchargé
Prévention : implémentez une limitation du débit de requêtes et des circuit breakers
Problèmes d'ordres
Taux de rejet élevé
Symptômes : de nombreux ordres sont rejetés
Investigation :
- Journalisez
statusetreasonde chaque réponse d'ordre et de chaque message WebSocketorder_updates.GET /orders?wallet=...renvoie par défaut les ordres ouverts et ne contient pas les motifs de rejet - Examinez la marge :
GET /portfolio?wallet=... - Vérifiez les limites du compte :
GET /risk/limits?wallet=... - Vérifiez que les instruments ne sont pas expirés :
GET /instruments?currency=...
Actions :
- En cas de problème de marge : réduisez la taille de la position ou ajoutez du collatéral
- En cas de problème de palier : couvrez les ventes avec un inventaire long, ou contactez Hypercall pour un changement de palier
- En cas d'expiration : utilisez d'autres instruments
Exécutions manquantes
Symptômes : ordres exécutés mais aucune notification d'exécution
Investigation :
- Consultez
GET /fills?wallet=...pour les exécutions - Vérifiez l'abonnement au canal WebSocket
fills - Vérifiez l'état de la connexion WebSocket
Actions :
- Réabonnez-vous au canal
fills - Interrogez l'endpoint REST pour récupérer les exécutions manquées
- Rapprochez les exécutions avec le statut des ordres
Statut d'ordre obsolète
Symptômes : le statut d'ordre dans REST ne correspond pas à celui du WS
Investigation :
- Vérifiez l'état de la connexion WebSocket
- Vérifiez que le cache d'ordres est à jour
- Comparez le statut des ordres entre REST et WS
Actions :
- Interrogez REST après une reconnexion WS pour rattraper le retard
- Utilisez REST comme source de vérité pour le rapprochement
Problèmes de MMP
Le MMP se déclenche trop souvent
Symptômes : de nombreux ordres annulés par le MMP
Investigation :
- Vérifiez la configuration MMP avec un
GET /mmp-config?wallet=...¤cy=...signé - Examinez les schémas d'exécution et les métriques cumulées
- Vérifiez si les limites sont trop basses
Actions :
- Augmentez les limites MMP (qty, delta, véga)
- Augmentez
interval_mspour autoriser davantage d'exécutions dans la fenêtre - Réduisez la fréquence de cotation
Le MMP ne se déclenche pas
Symptômes : les exécutions dépassent les limites mais le MMP ne se déclenche pas
Investigation :
- Vérifiez que le MMP est activé avec un
GET /mmp-config?wallet=...¤cy=...signé - Vérifiez
mmp_enabled=truesur les ordres - Vérifiez que la devise correspond au sous-jacent de l'ordre
Actions :
- Activez le MMP sur les ordres :
mmp_enabled=true - Configurez le MMP pour la bonne devise
- Ajustez les limites si nécessaire
Les lectures MMP signées transmettent l'expiration et la signature GetMmpConfig dans
les en-têtes X-Hypercall-Expires-At-Ms et X-Hypercall-Signature.
Problèmes de marge
Marge insuffisante
Symptômes : ordres rejetés avec « Insufficient margin »
Investigation :
- Consultez le portefeuille :
GET /portfolio?wallet=... - Examinez le calcul de marge
- Identifiez le scénario en échec
Actions :
- Réduisez la taille de la position
- Ajoutez du collatéral
- Clôturez des positions pour libérer de la marge
- Couvrez l'exposition pour réduire la perte dans le pire scénario
Prix spot manquant
Symptômes : ordres rejetés avec un motif commençant par « Missing spot price for underlying »
Investigation :
- Vérifiez
index_pricepour le sous-jacent dansGET /markets - Vérifiez que le symbole du sous-jacent est correct
- Consultez la page de statut pour un éventuel incident d'oracle
Actions :
- Attendez le rétablissement du flux de prix spot
- Utilisez un autre sous-jacent si disponible
- Contactez le support si le problème persiste
Problèmes système
Latence élevée
Symptômes : réponses API lentes ou retards des messages WebSocket
Investigation :
- Vérifiez la charge du système
- Surveillez les temps de réponse
- Vérifiez la connectivité réseau
Actions :
- Réduisez le débit de requêtes
- Implémentez une limitation du débit de requêtes
- Contactez le support si le problème persiste
Limitation de débit
Symptômes : requêtes rejetées ou ralenties
Actuellement : les limites de débit sont appliquées par portefeuille, avec des limites distinctes par source pour les annulations, l'autorisation d'agents, les écritures MMP et les simulations de risque. Consultez Limites de débit pour plus de détails.
Actions :
- Consultez l'en-tête
Retry-Afteret attendez avant de réessayer - Surveillez
X-RateLimit-Remainingpour éviter d'atteindre les limites - Utilisez les endpoints groupés lorsque c'est possible
Procédures d'urgence
Kill switch
Actions immédiates :
- Annulez tous les ordres :
DELETE /bulk_orderouDELETE /bulk_order_cloid, jusqu'à 50 ordres par requête - Déconnectez le WebSocket
- Arrêtez le système de cotation
Reprise :
- Vérifiez que tous les ordres sont annulés :
GET /orders?wallet=... - Examinez le portefeuille :
GET /portfolio?wallet=... - Recherchez la cause racine
- Reprenez la cotation une fois le problème résolu
Rapprochement des données
Après un incident :
- Interrogez les endpoints REST pour obtenir l'état actuel
- Rapprochez les ordres :
GET /orders?wallet=... - Rapprochez les exécutions :
GET /fills?wallet=... - Rapprochez le portefeuille :
GET /portfolio?wallet=... - Reprenez les abonnements WebSocket
Escalade
Si le problème persiste :
- Consultez les problèmes connus et les avis staging fournis avec votre accès
- Consultez les Runbooks pour des procédures détaillées
- Contactez le support en fournissant :
- Adresse du portefeuille
- Messages d'erreur
- Horodatages
- Étapes pour reproduire le problème