La réponse courte
Non : une clé d'agent Hyperliquid approuvée ne peut pas retirer de votre compte, et elle ne peut envoyer vos USDC ni vos jetons nulle part, parce que la place lui refuse ces actions pour ce qu'elle est et non pour le montant. Elle peut passer et annuler des ordres, et elle a pu faire une autre chose avec votre argent : déposer le compte dans un vault Hyperliquid.
Tout ce qui suit est une mesure sur le mainnet, le 28 septembre 2026, avec une vraie clé d'agent approuvée sur un compte de test. La page du portefeuille d'agent de ce site porte le même relevé.
Comment cela a été mesuré
Un compte de test contenant environ 60 USDC a approuvé une clé d'agent neuve pour une heure, comme le fait Locker Vault en production. La clé d'agent a ensuite signé chaque action qui déplace de l'argent, chacune pour 1 000 USDC, bien plus que ce que le compte détenait, si bien que rien ne pouvait bouger et que seule la raison de chaque refus comptait.
Le compte a ensuite signé les mêmes demandes. Là où l'agent a reçu une autre réponse que le compte, il avait été arrêté parce qu'il est un agent. Là où tous deux ont reçu la même réponse, l'action a été réessayée pour un petit montant, vers une destination qui reste celle du compte.
Ce que Hyperliquid a répondu
| Action signée par la clé d'agent | La réponse de Hyperliquid |
|---|---|
| Passer un ordre, puis l'annuler | accepté |
Retirer (withdraw3) | refusé |
Envoyer de l'USDC ou un jeton (usdSend, spotSend, sendAsset) | refusé |
Passer du spot aux perpétuels (usdClassTransfer) | refusé |
Approuver un second agent (approveAgent) | refusé |
Approuver des frais de builder (approveBuilderFee) | refusé |
Déposer le compte dans un vault (vaultTransfer) | accepté |
Chaque refus se lisait de la même façon : Must deposit before performing actions, en nommant l'adresse propre de l'agent. Hyperliquid avait appliqué l'action à l'adresse de l'agent, qui ne détient rien, au lieu du compte qui l'avait approuvée. Les mêmes demandes signées par le compte lui-même ont rencontré des erreurs de solde, ce qui est une autre réponse.
Aucun second agent n'est apparu dans la liste du compte après l'approveAgent refusé. L'approbation de frais de builder a été refusée aussi, ce qui correspond à la documentation : cette action doit être signée par le portefeuille principal de l'utilisateur, pas par un portefeuille d'agent.
Le seul mouvement de fonds qu'elle a signé
vaultTransfer ne s'applique pas au signataire : c'est une action L1, et Hyperliquid l'a rattachée au compte qui avait approuvé la clé. Demandée pour 1 000 USDC, l'agent a reçu la même réponse de fonds insuffisants que le compte, si bien que le test a été refait pour 5 USDC vers HLP, le vault de Hyperliquid elle-même, une destination qui reste celle du compte. C'est passé : le solde spot du compte est tombé de 60,78 à 55,78 USDC, et son capital en vault affichait 5,0.
Une clé d'agent volée ne peut pas sortir votre argent, mais elle peut le déplacer dans un vault tenu par quelqu'un d'autre, dont l'opérateur peut ensuite le perdre en tradant contre lui-même. La phrase une clé d'agent ne peut que trader est donc fausse. Nous avons corrigé nos propres pages qui le disaient, et c'est pourquoi la seule borne qui tient vraiment est un compte qui ne contient que ce que vous acceptez de perdre.
Ce que le gardien ajoute
lpa ne signe jamais cette action. Son gardien signe une liste fermée d'actions de trading : passer, changer et annuler des ordres, régler le levier et la marge d'un marché, et régler le code de parrainage. vaultTransfer n'est pas sur la liste, donc aucune commande venant de vous, d'un script ou d'un assistant IA n'en produit une.
Les dépôts, les retraits et le déplacement de marge entre dexes sont signés par votre portefeuille : dans Locker Vault, sur le téléphone hors ligne, comme une cérémonie QR, ou comme une demande que vous approuvez dans votre extension ou votre portefeuille mobile. Le gardien vérifie aussi chaque ouverture contre les limites de cet ordinateur et contre le mandat que votre portefeuille a signé, et il ne répond qu'aux demandes qui portent le jeton qu'il a écrit à son démarrage.
C'est une borne sur lpa, pas sur la clé. Un voleur qui tient le fichier de clé scellé et votre mot de passe n'a pas besoin de lpa, et aucun fichier de votre ordinateur ne l'arrête.
La borne qui tient vraiment
Trois choses tiennent quoi qu'il arrive sur l'ordinateur : la place refuse à cette clé tout retrait et tout envoi, l'approbation finit d'elle-même, et un compte employé pour le seul agent ne contient que ce que vous y avez mis. La dernière est la seule borne qui ne dépende pas d'un logiciel.
Pour y mettre fin : lpa mandate revoke arrête toute ouverture à l'instant et n'a pas besoin du portefeuille ; lpa agent revoke retire la clé chez la place, avec votre portefeuille ; lpa panic arrête tout pilote et toute copie et sort la clé de la mémoire. Aucune des trois ne ferme une position.