Cette page a été traduite automatiquement. La version anglaise fait référence. Lire en anglais →
Aller au contenu principal

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_rejected et 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​

CodeSignificationQue faire
insufficient_marginUne 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_positionUn 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_positionVous 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_accountUn 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_pendingLe 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​

CodeSignificationQue faire
account_not_pmLes 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_requiredLes 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_approvedHyperliquid 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_unavailableHypercall 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​

CodeSignificationQue faire
market_not_supportedHypercall 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_haltedLe trading est suspendu, soit globalement, soit pour ce marché.Patientez. Le formulaire garde le bouton désactivé jusqu’à la reprise du trading.
price_unavailableLe 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_snapshotVotre 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_unavailableLa 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​

CodeSignificationQue faire
invalid_orderLes 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_supportedLa 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_rejectedTout 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.

Voir aussi​