Repository Public
1{2 "recordedAt": "2026-11-11T04:32:24.615Z",3 "network": "testnet",4 "note": "throwaway seed generated in memory by scripts/hl-live-testnet.mts; the account never existed on the venue",5 "account": "0xe06252f11d8beac14b7f8a026dd02febdba1400f",6 "agent": "0x78d1c6e0bee0f04b2ca06d5e03f14f20f15cf5c8",7 "exchanges": [8 {9 "step": "API authorization/approve (signer signs approveAgent with the wallet key; the API sends it to the testnet)",10 "status": 422,11 "answer": {12 "error": "venue_rejected",13 "message": "the venue did not register the trading key: hyperliquid: Must deposit before performing actions. User: 0xe06252f11d8beac14b7f8a026dd02febdba1400f — the authorization was revoked on the signer, nothing can trade. Fund the venue account first if the venue asks for a deposit, then prepare a new authorization."14 }15 },16 {17 "step": "approveAgent signed by the wallet key (user-signed action)",18 "request": {19 "action": {20 "type": "approveAgent",21 "hyperliquidChain": "Testnet",22 "signatureChainId": "0x66eee",23 "agentAddress": "0x78d1c6e0bee0f04b2ca06d5e03f14f20f15cf5c8",24 "agentName": "spw-live valid_until 1794457941000",25 "nonce": 179437154166526 },27 "nonce": 1794371541665,28 "signature": {29 "r": "0xa378701c373874428d426855d738e8513d01a37afa8652bfc7d5e1b3e3332345",30 "s": "0x2eadf78d2bc6130f57e96b877f103b25d68b75b2811d16fbcd81883f6bc2264e",31 "v": 2732 },33 "vaultAddress": null,34 "expiresAfter": null35 },36 "status": 200,37 "answer": {38 "status": "err",39 "response": "Must deposit before performing actions. User: 0xe06252f11d8beac14b7f8a026dd02febdba1400f"40 }41 },42 {43 "step": "order signed by the trading key (expiresAfter = nonce + 90 s)",44 "request": {45 "action": {46 "type": "order",47 "orders": [48 {49 "a": 3,50 "b": true,51 "p": "73070",52 "s": "0.0002",53 "r": false,54 "t": {55 "limit": {56 "tif": "Alo"57 }58 },59 "c": "0x5d36245d4a22d2c75f3ec09f78653a56"60 }61 ],62 "grouping": "na"63 },64 "nonce": 1794371542788,65 "signature": {66 "r": "0x79cba3e8518c405edb8d5d4325789a600fb3f1347ab122cf5124925fc3f0c088",67 "s": "0x5b8e01c1ad459a735e706ee86ecddfd4029c296ee1899fbb5f5207a54e3e6974",68 "v": 2869 },70 "vaultAddress": null,71 "expiresAfter": 179437163278872 },73 "status": 200,74 "answer": {75 "status": "err",76 "response": "User or API Wallet 0x78d1c6e0bee0f04b2ca06d5e03f14f20f15cf5c8 does not exist."77 }78 },79 {80 "step": "cancelByCloid signed by the trading key",81 "request": {82 "action": {83 "type": "cancelByCloid",84 "cancels": [85 {86 "asset": 3,87 "cloid": "0x5d36245d4a22d2c75f3ec09f78653a56"88 }89 ]90 },91 "nonce": 1794371543427,92 "signature": {93 "r": "0xa5724676b8fd483273352abfb24d4cc75b21f03090987c55afeef44b6f7a407f",94 "s": "0x7964c0e384046d1d37f081951647e233795debd9767565879e59c8addfaf3f2d",95 "v": 2796 },97 "vaultAddress": null,98 "expiresAfter": 179437163342799 },100 "status": 200,101 "answer": {102 "status": "err",103 "response": "User or API Wallet 0x78d1c6e0bee0f04b2ca06d5e03f14f20f15cf5c8 does not exist."104 }105 },106 {107 "step": "updateLeverage signed by the trading key",108 "request": {109 "action": {110 "type": "updateLeverage",111 "asset": 3,112 "isCross": true,113 "leverage": 3114 },115 "nonce": 1794371543905,116 "signature": {117 "r": "0x7d18e12ce80ecb4164ae82056501b5c5fe7ef9e052f317312a653d608d1656f1",118 "s": "0x143bc91c9ec692a8ccdf21430a520bf8d5f45cda147d602e989c1c806d6bb37f",119 "v": 28120 },121 "vaultAddress": null,122 "expiresAfter": 1794371633905123 },124 "status": 200,125 "answer": {126 "status": "err",127 "response": "User or API Wallet 0x78d1c6e0bee0f04b2ca06d5e03f14f20f15cf5c8 does not exist."128 }129 },130 {131 "step": "signer: order at half the market price (passkey-approved all the same)",132 "answer": "signer_price: price 37281 is more than 1000 bps away from the signer's own BTC price 73639.0975"133 },134 {135 "step": "signer: order above the authorized notional",136 "answer": "signer_policy: order notional 730.7 is above the authorized 60"137 },138 {139 "step": "signer: order on an instrument outside the authorization",140 "answer": "signer_policy: hyperliquid:ETH is not allowed by the authorization"141 },142 {143 "step": "signer: payload differs from the order shown for approval",144 "answer": "signer_mismatch: the order shown for approval and the payload to sign differ (size)"145 },146 {147 "step": "signer: an approveAgent for another address smuggled through /venue/sign",148 "answer": "signer_unsupported: an agent approval can only be signed through /venue/authorize, by the main key, with the owner's passkey"149 },150 {151 "step": "signer: a transfer (usdClassTransfer) smuggled through /venue/sign",152 "answer": "signer_unsupported: this payload is not an order, a cancel or a leverage change (usdClassTransfer): the trading key signs nothing else"153 },154 {155 "step": "signer: a cancel after revocation",156 "answer": "signer_revoked: authorization revoked"157 },158 {159 "step": "signer: an order after revocation",160 "answer": "signer_revoked: authorization revoked"161 }162 ]163}164