Module signed_request

Module signed_request 

Source
Expand description

Signed request builder for Hyperliquid API.

This module provides a builder pattern for creating authenticated Hyperliquid exchange actions, encapsulating the common EIP-712 signing workflow used across all authenticated endpoints.

§Overview

Unlike HMAC-based exchanges (Binance, OKX, Bitget, Bybit), Hyperliquid uses EIP-712 typed data signing with Ethereum private keys. The HyperliquidSignedRequestBuilder centralizes:

  • Private key validation
  • Nonce generation (millisecond timestamp)
  • EIP-712 signature generation (r, s, v components)
  • Request body construction with signature
  • HTTP request execution

§Example

let hyperliquid = HyperLiquid::builder()
    .private_key("0x...")
    .testnet(true)
    .build()?;

// Create an order action
let action = json!({
    "type": "order",
    "orders": [{"a": 0, "b": true, "p": "50000", "s": "0.001", "r": false, "t": {"limit": {"tif": "Gtc"}}}],
    "grouping": "na"
});

let response = hyperliquid.signed_action(action)
    .execute()
    .await?;

Structs§

HyperliquidSignedRequestBuilder
Builder for creating authenticated Hyperliquid exchange actions.