Runbooks
Liste complète de vérification de préparation du desk et tests de certification d'intégration.
Liste de vérification de préparation du desk
Avant la mise en production, vérifiez :
Connectivité API
- Endpoints de production configurés
- Endpoint de contrôle de santé opérationnel
- 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 groupés testé
- Rapprochement du cycle de vie des ordres vérifié
- Suivi des exécutions implémenté
- Fonction d'annulation testée
Contrôles des risques
- MMP configuré et testé
- Modèle de marge compris
- Restrictions de niveau vérifiées
- Surveillance du portefeuille implémentée
Surveillance
- Abonnement aux flux WebSocket effectué
- Rapprochement ordres/exécutions automatisé
- Contrôles de santé configurés
- Alertes mises en place
Coupe-circuit
- Capacité d'annuler tous les ordres
- Capacité de 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 des perpétuels compris
Règlement
- Gestion de l'échéance 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 que le statut de la réponse est
ACKEDouOPEN - Vérifiez que l'ordre apparaît dans
GET /orders?wallet=... - Vérifiez la réception de
order_updatessur le WebSocket
Résultat attendu : ordre placé avec succès, mises à jour de statut reçues
Test 2 : Placement d'ordres groupés
É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 ou d'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 que l'exécution est reçue 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 les canaux WebSocket
fillsetorder_updates - Vérifiez que l'exécution partielle arrive sur
fills - Vérifiez que
order_updatesindiquePARTIALLY_FILLEDavec unfilled_sizecumulé - Agrégez les exécutions par
order_idet vérifiez que le total est égal àfilled_size
Résultat attendu : quantités par exécution sur fills, taille exécutée cumulée sur order_updates
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 de
order_updatessur le 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 un
POST /mmp-configsigné. EnvoyezX-Hypercall-Fence-Wait: 1lorsque le client lira immédiatement la projection, et conservez la valeurX-Hypercall-Fencerenvoyée. - 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
La lecture de la configuration MMP nécessite également une authentification. Signez GetMmpConfig et
envoyez son expiration et sa signature dans les en-têtes X-Hypercall-Expires-At-Ms et
X-Hypercall-Signature. Renvoyez la valeur X-Hypercall-Fence de la réponse d'écriture
sur ce GET pour attendre exactement cette configuration validée. Les écritures sans
X-Hypercall-Fence-Wait: 1 ne renvoient volontairement pas d'en-tête de fence.
Test 7 : Rejet pour marge
É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, de capitaux propres et de déficit
- Vérifiez le statut de l'ordre :
REJECTED
Résultat attendu : ordre rejeté avec un motif clair
Test 8 : Restriction de niveau
Étapes :
- Utilisez un portefeuille dont le niveau n'autorise que les ventes couvertes (vérifiez
GET /risk/limits?wallet=...) - Tentez de placer un ordre de vente sans position longue
- Vérifiez que l'ordre est rejeté avec un motif lié au niveau
- Placez un ordre d'achat (doit réussir)
- Placez un ordre de vente pour clôturer (doit réussir)
Résultat attendu : restrictions de niveau appliquées correctement
Test 9 : Reconnexion WebSocket
Étapes :
- Connectez-vous au WebSocket
- Abonnez-vous aux canaux
- Déconnectez le WebSocket
- Reconnectez-vous avec un backoff exponentiel
- Réabonnez-vous aux canaux
- Interrogez l'API REST pour récupérer les mises à jour manquées
Résultat attendu : la reconnexion fonctionne, l'état est récupéré
Test 10 : Rapprochement du portefeuille
Étapes :
- Placez des ordres et faites-les exécuter
- 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
- Effectuez le rapprochement avec les mises à jour WebSocket
portfolio
Résultat attendu : état du portefeuille exact, rapprochement réussi
Préparation à la production
Liste de vérification pré-production
- Tous les tests d'intégration réussis
- Surveillance et alertes configurées
- Coupe-circuit testé
- Procédures d'urgence documentées
- Équipe formée à la réponse aux incidents
- Contacts de support identifiés
Liste de vérification de mise en production
- Tests de certification réussis en production avec une faible taille
- Endpoints de production vérifiés
- Tableaux de bord de surveillance prêts
- Alertes configurées
- Planning d'astreinte de l'équipe établi
- Documentation relue
Références
- Démarrage rapide : Démarrage rapide
- Référence API : API REST
- Erreurs et rejets : Erreurs
- Playbook d'incidents : Incidents