Codes de motif des ordres perpétuels
Lorsque le formulaire d’ordre indique qu’un ordre « serait rejeté », il cite un code de motif. Le même code est renvoyé par la vérification en direct avant la signature (l’aperçu) et par la soumission réelle : ce que le formulaire affiche correspond donc à ce que ferait le serveur.
Comment le formulaire les utilise :
- Les codes bloquants remplacent le libellé du bouton de soumission par le motif (par exemple
Not enough margin) jusqu’à ce que vous modifiiez l’ordre. - Les codes d’actualisation (
stale_position_snapshot,venue_risk_unavailable) sont revérifiés automatiquement et ne bloquent jamais le bouton. - Les codes de nouvelle tentative avec blocage (
price_unavailable,account_health_unavailable) sont eux aussi revérifiés automatiquement, mais bloquent le bouton jusqu’à ce que la vérification réussisse. - Un aperçu en échec ne vous bloque jamais. Si l’aperçu est inaccessible, le formulaire n’affiche aucun chiffre et vous pouvez tout de même soumettre. La vérification réelle s’exécute quand même à la soumission.
invalid_order,engine_rejectedet tout code inconnu bloquent et affichent le message du serveur tel quel, puisqu’il nomme le champ ou la règle en échec.
Les utilisateurs de l’API reçoivent la même valeur dans reasonCode sur POST /v1/tee-perp/preview ainsi que dans les réponses de soumission d’ordre, de lot et de levier. Le texte lisible (reason dans l’aperçu, message dans les réponses de soumission) est un texte de diagnostic ; basez votre logique sur le code.
Marge et position
| Code | Signification | Que faire |
|---|---|---|
insufficient_margin | Une fois cet ordre (et tous les ordres perpétuels ouverts) exécuté, votre compte ne couvrirait pas son exigence de marge. L’exigence retenue est la plus défavorable entre la marge de portefeuille Hypercall et la marge Hyperliquid. | Utilisez la carte affichée par le formulaire : Utiliser le max (plus grande taille acceptée), Passer à N× (plus petit levier accepté) ou Déposer le montant manquant. Annuler des ordres en attente libère aussi de la marge. |
reduce_only_exceeds_position | Un ordre reduce-only augmenterait ou inverserait votre position au lieu de la réduire. | Fixez une taille inférieure ou égale à votre position ouverte (le formulaire propose Utiliser la position), ou désactivez Reduce only. |
mode_change_with_position | Vous avez tenté de basculer entre cross et isolé sur un marché où vous détenez une position. Hyperliquid ne l’autorise pas non plus. | Conservez le mode actuel, ou clôturez la position puis changez de mode. |
leverage_requires_flat_account | Un changement de levier a été refusé car le compte détient des positions perpétuelles ouvertes ou des ordres perpétuels en attente. Cela ne se produit que là où Hypercall n’intègre pas le risque de liquidation Hyperliquid dans la marge ; la production l’intègre, donc la production ne renvoie pas ce code. | Clôturez les positions et annulez les ordres perpétuels, puis modifiez le levier. |
liquidation_pending | Le compte est en pré-liquidation et une liquidation complète est sur le point de commencer. Hypercall refuse tout nouvel ordre perpétuel sur ce compte. | Attendez la fin de la liquidation. Voir Liquidation. |
Configuration du compte
| Code | Signification | Que faire |
|---|---|---|
account_not_pm | Les ordres perpétuels nécessitent un compte en marge de portefeuille. | Activez la marge de portefeuille depuis la page de votre compte, puis réessayez. |
unified_mode_required | Les ordres qui ajoutent du risque nécessitent le mode compte unifié Hyperliquid sur le compte de trading. | Cliquez sur Activer le mode unifié dans le formulaire. |
builder_not_approved | Hyperliquid a refusé l’ordre car le compte n’a pas approuvé l’adresse builder de Hypercall. Ce code est renvoyé par Hyperliquid à la soumission, pas par l’aperçu, et les utilisateurs de l’API le voient dans le champ errorCode de la réponse de soumission, pas dans reasonCode. | Cliquez une fois sur Activer le trading. Voir Les perpétuels sur Hypercall. |
account_health_unavailable | Hypercall ne peut pas lire la santé de marge du compte pour le moment, il refuse donc tout ce qui ajoute du risque. | Le formulaire revérifie automatiquement. Pour réduire votre risque en attendant, envoyez l’ordre avec Reduce only activé. |
Marché et données
| Code | Signification | Que faire |
|---|---|---|
market_not_supported | Hypercall ne peut pas évaluer le risque de ce marché. Il faut un flux de prix, une grille de scénarios de marge et un barème Hyperliquid marginé en USDC pour votre compte. | Choisissez un marché pris en charge. |
trading_halted | Le trading est suspendu, soit globalement, soit pour ce marché. | Patientez. Le formulaire garde le bouton désactivé jusqu’à la reprise du trading. |
price_unavailable | Le prix utilisé par Hypercall pour valoriser le marché est manquant ou périmé. | Le formulaire revérifie automatiquement. Hypercall ne devine jamais un prix, il refuse donc jusqu’à l’arrivée d’un prix à jour. |
stale_position_snapshot | Votre dernière lecture de position ou d’equity Hyperliquid est manquante ou trop ancienne. | Rien. Le formulaire revérifie une fois de lui-même. Si le problème persiste, actualisez la page. |
venue_risk_unavailable | La lecture du risque Hyperliquid (levier, prix de liquidation, collatéral par position) est manquante ou ne correspond pas à votre dernière lecture de position. | Rien. Le formulaire revérifie une fois de lui-même. |
Conditions de l’ordre
| Code | Signification | Que faire |
|---|---|---|
invalid_order | Les conditions de l’ordre sont invalides : précision du prix ou de la taille, bracket TP/SL mal formé, ou identifiant d’ordre client incorrect. | Corrigez le pas de prix ou le pas de taille, puis soumettez à nouveau. |
action_not_supported | La politique de l’enclave de signature n’autorise pas ce type d’action. Si cela se produit sur un type d’ordre proposé par le formulaire, celui-ci marque ce type comme non activé. | Utilisez un type d’ordre pris en charge. |
engine_rejected | Tout autre refus. Le texte reason indique la cause exacte. | Lisez le message. S’il n’est pas clair, contactez le support en joignant le texte. |