Fonctionnement en détail
Risques
Le principal risque au niveau du protocole est la manipulation du meilleur prix acheteur et vendeur d’Hyperliquid. Cette page présente ce risque ouvert, les frictions et les limites d’exposition qui s’y opposent, les garde-fous opérationnels qui s’y ajoutent, qui peut appeler quoi, et les autres risques que vous prenez.
Risque de micro-variations du BBO
Le prix d’exécution est le meilleur prix acheteur et vendeur d’Hyperliquid, lu directement. Sur BTC et ETH, le spread est serré mais pas nul, et à l’intérieur n’importe qui peut placer un petit ordre limite qui n’a jamais besoin d’être exécuté : le simple fait de se trouver en haut du carnet déplace le meilleur prix acheteur ou vendeur, et avec lui le prix médian, d’un ou deux ticks.
Quelqu’un qui fait bouger le carnet de cette façon peut parvenir à ouvrir ou clôturer ici à un prix médian faussé, et profiter du retour de la cotation à la normale. C’est un risque réel et ouvert : le calcul du prix n’a aucun prix de référence indépendant pour rejeter une cotation.
Frictions économiques et contrôles d’exposition
Quatre contrôles s’appliquent. Aucun ne prouve que la manipulation est impossible ou non rentable.
- La zone morte. Sur une clôture gagnante, un gain inférieur à 0.002% du prix d’entrée est ramené à zéro avant l’application de la courbe d’impact, et les gains plus grands perdent d’abord ce montant.
- La courbe d’impact asymétrique. La décote sur les clôtures gagnantes est la plus forte sur les plus petits mouvements, ce qui réduit le gain tiré des petites distorsions sans comparer le carnet à un autre prix.
- Plafonds d’intérêt ouvert par sens. Chaque marché a des plafonds distincts pour le long et le short ; une ouverture qui dépasserait le plafond de son côté est rejetée. Un keeper maintient chaque plafond à l’intérêt ouvert du côté plus une marge
Hvalorisée au prix médian actuel, n’y touche pas tant que la marge reste à moins de 10% deH, et limite la vitesse à laquelle les plafonds peuvent augmenter.Hest fixé pour chaque étape de lancement (ci-dessous). Ces plafonds limitent la nouvelle exposition par côté ; ils ne plafonnent ni l’intérêt ouvert total ni les pertes. - La retenue des clôtures récentes. Quand une position vient d’être ouverte, le relayer retient sa clôture jusqu’à 6 secondes, pour qu’on ne puisse pas ouvrir et clôturer d’un coup sur un seul instantané périmé.
Ensemble, ils réduisent les gains et limitent la nouvelle exposition qui tient sous les plafonds. Un carnet manipulé mais non nul et non croisé passe toujours ; les risques de manipulation et de perte pour le LP demeurent.
Garde-fous opérationnels
- Des keepers en veille. Nos keepers surveillent les carnets, l’intérêt ouvert et la santé de chaque position, et lancent les liquidations et les récoltes à chaque bloc. Une sentinelle guette les carnets à l’arrêt et les flux anormaux, et alerte les opérateurs.
- Retirer un marché, suspendre le trading. Le gardien peut retirer un identifiant de marché quand quelque chose semble anormal : il n’accepte plus aucune ouverture, et ses positions restent clôturables au carnet figé lors du retrait. Le retrait est irréversible ; le marché peut plus tard être listé de nouveau sous un nouvel identifiant. Suspendre le trading est le moyen réversible d’arrêter les ouvertures sur tous les marchés ; le gardien peut suspendre, et seul le propriétaire peut reprendre.
- Le keeper des plafonds. Le keeper de marché applique la politique de plafonds à chaque côté indépendamment, et ne change un plafond que quand la marge sort de sa bande.
Surfaces ouvertes et restreintes
Le trading passe par notre relayer : les ouvertures, les clôtures, l’enregistrement des clés de session et les actions de staking sont soumis par les clés de relayer configurées via le BatchExecutor. Chacune porte toujours la signature de votre portefeuille ou de votre clé de session, vérifiée on-chain, si bien que le relayer ne peut pas agir pour un compte sans sa signature.
Les retraits restent entre vos mains : vous pouvez appeler withdrawToCore depuis votre portefeuille, et un withdrawToCoreBySig signé peut être soumis par n’importe qui mais demande la signature de votre propre portefeuille. Les liquidations, les récoltes, les balayages de dépôts et leur finalisation, et le rejeu des émissions différées sont des appels de maintenance publics ; pousser les frais des stakers est réservé au contrat de staking, qui le fait à chaque distribution. Le déploiement d’un proxy de dépôt est ouvert à la clé de déploiement du relayer et au compte lui-même ; déclencher une distribution de staking est réservé au keeper distributeur ou à une demande signée passant par le relayer. Il n’existe aucun interrupteur d’administration sur les soldes des utilisateurs.
Clés d’administration
Chaque rôle est limité à un périmètre étroit :
- Gardien (un multisig). Peut retirer un marché (au carnet figé ou, en cas d’urgence, au prix de marque ou au prix oracle d’Hyperliquid), suspendre le trading sur tous les marchés, remplacer le keeper de marché, annuler des opérations programmées sur le timelock, et relever l’allocation de gas des lectures de prix. Il ne peut ni reprendre le trading, ni déplacer des fonds, ni modifier des soldes, ni activer une défense en sommeil.
- Propriétaire (le timelock, programmé par le multisig de gouvernance, avec un délai de 2 jours). Peut modifier les frais et les paramètres d’impact, lister des marchés, remplacer les relayers et les keepers, fixer le destinataire des frais de l’équipe, lever une suspension du trading, approuver des builders et fixer leur taux de frais (au plus 15%), déplacer les frais non réclamés d’un builder, basculer l’émission vers la règle de part de l’offre (une fois) et mettre à niveau les contrats. Les contrats sont évolutifs, donc en principe le propriétaire peut leur faire faire n’importe quoi ; le délai rend chacun de ces changements visible avant son exécution. Qui détient les rôles du timelock dépend lui-même d’un second timelock de 7 jours.
- Keeper de marché. Déplace les plafonds d’intérêt ouvert par côté et fixe la marge minimale et la taille minimale de position pour les ouvertures. Mettre à zéro le plafond d’un côté arrête les nouvelles ouvertures de ce côté sans figer aucun prix. Il ne peut ni déplacer des fonds, ni figer des prix, ni toucher la courbe d’impact.
- Keeper hors heures. Bascule les clôtures gagnantes entre les deux courbes de paiement fixées dans le contrat (PnL à impact asymétrique), selon un calendrier publié. Il peut choisir l’une de ces deux courbes et rien d’autre.
- Gardien des builders (le multisig de gouvernance). Peut retirer immédiatement un builder approuvé, ce qui arrête ses frais sur toutes les clés ; les frais déjà gagnés restent réclamables.
- Réconciliateur. Peut créditer un balayage de dépôt marqué non confirmé, seulement jusqu’à son montant enregistré, seulement à partir de fonds dont l’arrivée est vérifiable et qui n’appartiennent à personne, et seulement dans un délai de 30 jours.
Étapes de lancement
L’exchange ouvre par étapes. Elles ne changent que des leviers off-chain (qui peut trader, la marge H des plafonds par côté, le plus gros ordre unique que le relayer accepte), jamais un paramètre on-chain. Chaque étape dure au moins sa durée minimale sans incident grave avant que la suivante ne commence, et n’importe quel levier peut être abaissé à tout moment.
| Étape | Accès | Marge d’intérêt ouvert par côté (keepers) | Plafond par ordre (relayer) | Durée minimale |
|---|---|---|---|---|
| S0 | liste d’accès | $100,000 | $10,000 | 7 jours |
| S1 | public | $500,000 | $100,000 | 14 jours |
| S2 | public | $2,000,000 | $1,000,000 | 14 jours |
| S3 | public | BTC $8,000,000 / ETH $6,000,000 | $10,000,000 | aucun |
Défenses en sommeil
Les contrats comprennent des défenses construites et testées mais désactivées au lancement, par choix : les exécutions restent au prix médian brut, et il n’y a ni limiteur de sorties ni coupe-circuit. En activer une est un changement de paramètre soumis au timelock, qui doit d’abord être décidé et annoncé.
| Interrupteur | Description | Valeur déployée |
|---|---|---|
| D1 | price deviation bands against mark and oracle (guardMode) | guardMode = 0 |
| D2 | maximum relative spread (maxSpreadBps) | guardMode = 0 |
| D3 | minimum hold before a profitable close (minProfitHoldSecs) | minProfitHoldSecs = 0 |
| D4 | per-block open notional per side (maxOpenNotionalPerBlock) | maxOpenNotionalPerBlock = 0 |
| D5 | per-side USD cap against LP equity (sideCapFloorUsd / sideCapCeilingUsd / sideCapEquityBps) | sideCap… = off |
| D6 | LP drawdown circuit breaker | drawdownFloorUsd = max |
| D7 | per-account notional cap (maxAccountNotional) | maxAccountNotional = 0 |
| D8 | keeper OI-cap ceiling (capCeilingBase) | capCeilingBase = max |
| D9 | intent and session TTL bounds (maxIntentTtl, maxSessionDuration) | maxIntentTtl = maxSessionDuration = max |
Il n’y a donc aucun limiteur sur l’argent qui sort de l’exchange : un bug qui gonflerait un solde pourrait être exploité par un retrait avant qu’un correctif n’arrive. L’indexeur vérifie la comptabilité après chaque bloc et alerte aussitôt, et le relayer peut arrêter les retraits qu’il relaie ; les retraits directs ne peuvent pas être arrêtés.
Autres risques
- Créances en file non couvertes. Un gain que le LP ne peut pas payer devient une créance payée uniquement par les pertes futures. Rien ne plafonne la file ni ne borne l’attente. Le LP est parti de $0, donc les premiers gagnants sont payés via la file.
- Les ordres ont besoin du relayer. S’il est en panne ou refuse un ordre, vous ne pouvez ni ouvrir ni clôturer ; votre solde libre reste retirable depuis votre portefeuille. Un ordre signé n’a pas de limite de prix et reste valable jusqu’à son échéance, au plus 61 minutes plus tard ; révoquer vos clés de session annule tous les ordres qu’elles ont signés.
- Clés et hameçonnage. Une clé de session peut trader mais jamais retirer ; du code exécuté dans la page pourrait quand même l’utiliser pendant qu’il tourne. Comparez chaque demande de signature aux signatures officielles.
- Le jeton. BACK est émis pour les perdants, donc l’émission peut être exploitée avec des positions qui se compensent. Le transfert est désactivé et ne sera pas activé sans une décision séparée. Les récompenses ne sont pas versées en continu, donc une mise placée juste avant une distribution y participe.
- Technologie. Des bugs dans les contrats, des pannes de HyperEVM ou de HyperCore, des changements des précompilées d’Hyperliquid et des défaillances de bridges peuvent tous causer des pertes ou des retards.
- Juridique. Les conditions d’utilisation, la politique de confidentialité et l’avertissement sur les risques sont en préparation avec des conseils juridiques et ne sont pas encore publiés.