Runbooks
Liste de contrôle complète de préparation du desk et tests de certification d'intégration.
Liste de contrôle de préparation du desk
Avant la mise en production, vérifiez :
Connectivité API
- Endpoints de staging testés
- Endpoints de production configurés (lorsque disponibles)
- Endpoint de health check répondant
- Connexion WebSocket stable
Authentification
- Signature EIP-712 fonctionnelle
- Autorisation d'agent configurée (le cas échéant)
- Gestion des nonces implémentée
- Vérification des signatures testée
Système de cotation
- Placement d'ordres en masse testé
- Réconciliation du cycle de vie des ordres vérifiée
- Suivi des exécutions implémenté
- Fonctionnalité d'annulation testée
Contrôles de risque
- MMP configuré et testé
- Modèle de marge compris
- Restrictions par niveau (tier) vérifiées
- Surveillance du portefeuille implémentée
Surveillance
- Flux WebSocket souscrits
- Réconciliation ordres/exécutions automatisée
- Health checks configurés
- Alertes mises en place
Kill Switch
- Capacité à annuler tous les ordres
- Capacité à se déconnecter immédiatement
- Procédures d'urgence documentées
Couverture
- Intégration avec les contrats perpétuels Hyperliquid vérifiée
- Stratégie de couverture en delta implémentée
- Calcul de la marge sur les perpétuels compris
Règlement
- Gestion des échéances testée
- Règlement des positions vérifié
- Source du prix de référence comprise
Tests de certification d'intégration
Test 1 : Placement d'ordre
Étapes :
- Placez un ordre unique via
POST /order - Vérifiez le statut de l'ordre :
ACKED→OPEN - Vérifiez que l'ordre apparaît dans
GET /orders?wallet=... - Vérifiez la réception des
order_updatesvia WebSocket
Résultat attendu : Ordre placé avec succès, mises à jour de statut reçues
Test 2 : Placement d'ordres en masse
Étapes :
- Placez 10 ordres via
POST /bulk_order - Vérifiez que tous les ordres sont acceptés
- Vérifiez les statuts des ordres via REST et WS
- Vérifiez l'absence d'erreurs de signature/authentification
Résultat attendu : Tous les ordres placés avec succès
Test 3 : Suivi des exécutions
Étapes :
- Placez un ordre qui sera exécuté
- Surveillez le canal WebSocket
fills - Vérifiez la réception de l'exécution avec le bon
order_id - Vérifiez que l'exécution apparaît dans
GET /fills?wallet=... - Vérifiez que le statut de l'ordre passe à
FILLED
Résultat attendu : Exécutions suivies correctement, statut de l'ordre mis à jour
Test 4 : Suivi des exécutions partielles
Étapes :
- Placez un ordre qui sera partiellement exécuté
- Surveillez le canal WebSocket
fills(et nonorder_updates) - Vérifiez la réception de l'exécution partielle
- Agrégez les exécutions par
order_idpour calculer la taille exécutée - Vérifiez que le statut de l'ordre reste
OPEN(et nonPARTIALLY_FILLEDsur le WS)
Résultat attendu : Exécutions partielles suivies via le canal fills, statut de l'ordre correct
Test 5 : Annulation d'ordre
Étapes :
- Placez un ordre via
POST /order - Annulez l'ordre via
DELETE /order - Vérifiez le statut de l'ordre :
CANCELED - Vérifiez la réception des
order_updatesvia WebSocket
Résultat attendu : Ordre annulé avec succès, mises à jour de statut reçues
Test 6 : Déclenchement du MMP
Étapes :
- Configurez le MMP via
POST /mmp-config - Placez des ordres avec MMP activé
- Déclenchez le MMP en dépassant les limites
- Vérifiez que les ordres sont annulés avec le motif MMP
- Vérifiez que les autres ordres avec MMP activé sont également annulés
Résultat attendu : Le MMP se déclenche correctement, ordres annulés
Test 7 : Rejet pour marge insuffisante
Étapes :
- Placez un ordre qui dépasse la marge disponible
- Vérifiez que l'ordre est rejeté avec le motif « Insufficient margin »
- Vérifiez que le motif de rejet inclut les valeurs requise, disponible et manquante
- Vérifiez le statut de l'ordre :
REJECTED
Résultat attendu : Ordre rejeté avec un motif clair
Test 8 : Restriction par niveau (tier)
Étapes :
- Utilisez un portefeuille configuré pour un accès en position longue uniquement
- Tentez de placer un ordre de vente sans position longue
- Vérifiez que l'ordre est rejeté avec le motif lié au tier
- Placez un ordre d'achat (devrait réussir)
- Placez un ordre de vente pour clôturer (devrait réussir)
Résultat attendu : Restrictions par tier appliquées correctement
Test 9 : Reconnexion WebSocket
Étapes :
- Connectez-vous au WebSocket
- Souscrivez aux canaux
- Déconnectez le WebSocket
- Reconnectez-vous avec un backoff exponentiel
- Souscrivez à nouveau aux canaux
- Interrogez l'API REST pour rattraper les mises à jour manquées
Résultat attendu : La reconnexion fonctionne, l'état est récupéré
Test 10 : Réconciliation du portefeuille
Étapes :
- Placez et faites exécuter des ordres
- Vérifiez le portefeuille via
GET /portfolio?wallet=... - Vérifiez que les positions correspondent aux exécutions
- Vérifiez que l'utilisation de la marge est correcte
- Réconciliez avec les mises à jour
portfoliodu WebSocket
Résultat attendu : État du portefeuille exact, réconciliation réussie
Préparation à la production
Liste de contrôle pré-production
- Tous les tests d'intégration réussis
- Surveillance et alertes configurées
- Kill switch testé
- Procédures d'urgence documentées
- Équipe formée à la réponse aux incidents
- Contacts de support identifiés
Liste de contrôle de mise en production
- Environnement de staging entièrement testé
- Endpoints de production vérifiés
- Tableaux de bord de surveillance prêts
- Alertes configurées
- Planning d'astreinte de l'équipe établi
- Documentation revue
Références
- Démarrage rapide : Quickstart
- Référence API : REST API
- Erreurs et rejets : Errors
- Playbook des incidents : Incidents