秋田预测市场 · Discord 审计

开发者调用 Hyperliquid 订单 API 反复遭遇签名无效错误

2026-06-07 · Hyperliquid · 6 条相关讨论

LEAP 2026-06-07 08:20:33

guys anyone can help? I'm building a frontend trading app on Hyperliquid. I can successfully construct and send orders to the /exchange endpoint, but I'm getting a 422 Unprocessable Entity error: 'Failed to deserialize the JSON body into the target type.' My order payload looks correct: { "action": { "type": "order", "orders": [{ "a": 0, "b": true, "p": "100000", "s": "0.0002", "r": false, "t": {"limit": {"tif": "FrontendMarket"}} }], "grouping": "na" }, "nonce": 1780789..., "signature": "0x...", "vaultAddress": null } The issue is the signature. I'm currently using: const signature = await signer.signMessage(JSON.stringify({action, nonce, vaultAddress: null})); But this keeps getting rejected. What is the correct signing method for frontend order placement? Do I need EIP-712? If so, what's the exact domain/types structure? Or should I use the SDK's order() method directly? The docs say 'see Python SDK' but I'm on frontend. Can you show a working example?"

guys anyone can help? I'm building a frontend trading app on Hyperliquid. I can successfully construct and send orders to the /exchange endpoint, but I'm getting a 422 Unprocessable Entity error: 'Failed to deserialize the JSON body into the target type.' My order payload looks correct: { "action": { "type": "order", "orders": [{ "a": 0, "b": true, "p": "100000", "s": "0.0002", "r": false, "t": {"limit": {"tif": "FrontendMarket"}} }], "grouping": "na" }, "nonce": 1780789..., "signature": "0x...", "vaultAddress": null } The issue is the signature. I'm currently using: const signature = await signer.signMessage(JSON.stringify({action, nonce, vaultAddress: null})); But this keeps getting rejected. What is the correct signing method for frontend order placement? Do I need EIP-712? If so, what's the exact domain/types structure? Or should I use the SDK's order() method directly? The docs say 'see Python SDK' but I'm on frontend. Can you show a working example?"

LEAP 2026-06-07 08:23:38

guys anyone can help? I'm building a frontend trading app on Hyperliquid. I can successfully construct and send orders to the /exchange endpoint, but I'm getting a 422 Unprocessable Entity error: 'Failed to deserialize the JSON body into the target type.' My order payload looks correct: { "action": { "type": "order", "orders": [{ "a": 0, "b": true, "p": "100000", "s": "0.0002", "r": false, "t": {"limit": {"tif": "FrontendMarket"}} }], "grouping": "na" }, "nonce": 1780789..., "signature": "0x...", "vaultAddress": null } The issue is the signature. I'm currently using: const signature = await signer.signMessage(JSON.stringify({action, nonce, vaultAddress: null})); But this keeps getting rejected. What is the correct signing method for frontend order placement? Do I need EIP-712? If so, what's the exact domain/types structure? Or should I use the SDK's order() method directly? The docs say 'see Python SDK' but I'm on frontend. Can you show a working example?"

guys anyone can help? I'm building a frontend trading app on Hyperliquid. I can successfully construct and send orders to the /exchange endpoint, but I'm getting a 422 Unprocessable Entity error: 'Failed to deserialize the JSON body into the target type.' My order payload looks correct: { "action": { "type": "order", "orders": [{ "a": 0, "b": true, "p": "100000", "s": "0.0002", "r": false, "t": {"limit": {"tif": "FrontendMarket"}} }], "grouping": "na" }, "nonce": 1780789..., "signature": "0x...", "vaultAddress": null } The issue is the signature. I'm currently using: const signature = await signer.signMessage(JSON.stringify({action, nonce, vaultAddress: null})); But this keeps getting rejected. What is the correct signing method for frontend order placement? Do I need EIP-712? If so, what's the exact domain/types structure? Or should I use the SDK's order() method directly? The docs say 'see Python SDK' but I'm on frontend. Can you show a working example?"

LEAP 2026-06-07 08:23:58

Hi pls help me <@1316145545986965504>

Hi pls help me <@1316145545986965504>

LEAP 2026-06-07 08:26:27

Thank you : )

Thank you : )

Spyro · Team Anello 2026-06-07 08:52:53

use the SDK’s ExchangeClient.order() or signL1Action()

use the SDK’s ExchangeClient.order() or signL1Action()

Dave | Whalepod🐋 2026-06-07 09:33:57

Building on HL: WhalePod, a non-custodial copy-trading bot (mirrors fills via builder codes, users keep their keys). Would love feedback from active traders on what'd make a copy-trade tool actually trustworthy. What's stopped you from using copy-trading before?

Building on HL: WhalePod, a non-custodial copy-trading bot (mirrors fills via builder codes, users keep their keys). Would love feedback from active traders on what'd make a copy-trade tool actually trustworthy. What's stopped you from using copy-trading before?