התשובה הקצרה
לא: מפתח סוכן מאושר ב-Hyperliquid לא יכול למשוך מהחשבון שלך, והוא לא יכול לשלוח את ה-USDC או את הטוקנים שלך לשום מקום, כי הזירה דוחה לו את הפעולות האלה בשל מה שהוא ולא בשל הסכום. הוא יכול לשלוח ולבטל פקודות, והוא כן הצליח לעשות עוד דבר אחד עם הכסף שלך: להפקיד את החשבון ל-vault ב-Hyperliquid.
כל מה שלמטה הוא מדידה אחת ב-mainnet, ב-28 בספטמבר 2026, עם מפתח סוכן מאושר אמיתי על חשבון בדיקה. עמוד ארנק הסוכן של האתר הזה נושא את אותו תיעוד.
איך זה נמדד
חשבון בדיקה שהחזיק כ-60 USDC אישר מפתח סוכן חדש לשעה אחת, כפי שעושה Locker Vault בייצור. אחר כך מפתח הסוכן חתם על כל פעולה שמזיזה כסף, כל אחת על 1,000 USDC, הרבה יותר ממה שהחזיק החשבון, ולכן שום דבר לא היה יכול לזוז ורק הסיבה לכל סירוב הייתה חשובה.
אחר כך החשבון עצמו חתם על אותן בקשות. במקום שהסוכן קיבל תשובה שונה מזו של החשבון, הוא נעצר בשל היותו סוכן. במקום ששניהם קיבלו אותה תשובה, הפעולה נוסתה שוב בסכום קטן, אל יעד שנשאר של החשבון.
מה Hyperliquid ענתה
| פעולה שמפתח הסוכן חתם עליה | התשובה של Hyperliquid |
|---|---|
| לשלוח פקודה ואחר כך לבטל אותה | אושר |
משיכה (withdraw3) | נדחה |
שליחת USDC או טוקן (usdSend, spotSend, sendAsset) | נדחה |
העברה בין ספוט לחוזים מתמשכים (usdClassTransfer) | נדחה |
אישור סוכן שני (approveAgent) | נדחה |
אישור עמלת builder (approveBuilderFee) | נדחה |
הפקדת החשבון ל-vault (vaultTransfer) | אושר |
כל סירוב נקרא אותו דבר: Must deposit before performing actions, ונוקב בכתובת של הסוכן עצמו. Hyperliquid החילה את הפעולה על הכתובת של הסוכן, שלא מחזיקה כלום, במקום על החשבון שאישר אותו. אותן בקשות בחתימת החשבון עצמו פגשו שגיאות יתרה, וזו תשובה אחרת.
שום סוכן שני לא הופיע ברשימה של החשבון אחרי ה-approveAgent שנדחה. גם אישור עמלת ה-builder נדחה, וזה מתאים לתיעוד: על הפעולה הזאת חייב לחתום הארנק הראשי של המשתמש, לא ארנק סוכן.
תנועת הכספים האחת שהוא חתם עליה
vaultTransfer לא מוחל על החותם: זו פעולת L1, ו-Hyperliquid צירפה אותה לחשבון שאישר את המפתח. כשביקש 1,000 USDC קיבל הסוכן את אותה תשובת חוסר כספים כמו החשבון, ולכן הבדיקה חזרה על 5 USDC אל HLP, ה-vault של Hyperliquid עצמה, יעד שנשאר של החשבון. זה עבר: יתרת הספוט של החשבון ירדה מ-60.78 ל-55.78 USDC, וההון שלו ב-vault קרא 5.0.
מפתח סוכן גנוב לא יכול להוציא את הכסף שלך, אבל הוא יכול להזיז אותו ל-vault שמישהו אחר מפעיל, שהמפעיל שלו יכול אחר כך להפסיד אותו במסחר מול עצמו. לכן המשפט מפתח סוכן יכול רק לסחור שגוי. תיקנו את העמודים שלנו שאמרו אותו, וזו הסיבה שהגבול האחד שבאמת מחזיק הוא חשבון שמחזיק רק מה שאתה מוכן להפסיד.
מה השומר מוסיף
lpa לא חותם על הפעולה הזאת לעולם. השומר שלו חותם על רשימה סגורה של פעולות מסחר: שליחה, שינוי וביטול של פקודות, הגדרת המינוף ומצב המרג׳ין של שוק, והגדרת קוד ההפניה. vaultTransfer אינו ברשימה, ולכן שום פקודה ממך, מסקריפט או מעוזר AI לא מייצרת אחת.
הפקדות, משיכות והזזת מרג׳ין בין dexes נחתמות עם הארנק שלך: ב-Locker Vault, בטלפון הלא מחובר, בטקס QR, או כבקשה שאתה מאשר בתוסף או בארנק הנייד שלך. השומר גם בודק כל פתיחה מול הגבולות של המחשב הזה ומול ייפוי הכוח שהארנק שלך חתם, והוא עונה רק לבקשות שנושאות את האסימון שהוא כתב כשהתחיל.
זה גבול על lpa, לא על המפתח. גנב שמחזיק את קובץ המפתח האטום ואת הסיסמה שלך לא צריך את lpa, ושום קובץ במחשב שלך לא עוצר אותו.
הגבול שבאמת מחזיק
שלושה דברים מחזיקים בלי קשר למה שקורה במחשב: הזירה דוחה למפתח הזה כל משיכה וכל שליחה, האישור נגמר מעצמו, וחשבון שמשמש לסוכן בלבד מחזיק רק מה שהכנסת אליו. האחרון הוא הגבול היחיד שאינו תלוי בתוכנה.
לסיים: lpa mandate revoke עוצר כל פתיחה מיד ולא צריך ארנק; lpa agent revoke מוציא את המפתח לפנסיה בזירה, עם הארנק שלך; lpa panic עוצר כל טייס וכל העתקה ומוציא את המפתח מהזיכרון. אף אחד מהשלושה לא סוגר פוזיציה.