Skip to main content
POST
Build the typed data for a Hyperliquid withdrawal (step 1 of 2)

Authorizations

X-Client-Id
string
header
required

Credential client id (kairos_ck_...). Must be sent together with X-Api-Key and X-Api-Secret.

X-Api-Key
string
header
required

64-char hex API key.

X-Api-Secret
string
header
required

64-char hex API secret.

Body

application/json

Body for POST /exchanges/hyperliquid/withdraw/prepare. This call is PURE — it writes nothing and has no side effects; it only builds the typed data for you to sign.

wallet_address
string
required

The Hyperliquid main wallet. Must be owned by the authenticated caller.

amount
string
required

USDC amount as a plain decimal string. Only ASCII digits and a single . not in first position are accepted, and it must parse to a finite value > 0 — 1e5, .5, -1, inf and NaN are all rejected. Kairos enforces NO minimum and NO maximum; Hyperliquid's own withdrawal minimum and flat fee are applied venue-side.

destination
string | null

Arbitrum destination address. Defaults to wallet_address (withdraw to self) when omitted. Kairos does NOT validate this address — see the endpoint description.

Response

Typed data to sign, plus the time nonce to echo back.

typed_data
object
required

The EIP-712 typed data for Hyperliquid's withdraw3 action. Sign this with the main wallet.

time
integer<int64>
required

Millisecond timestamp that is ALSO the action's nonce. Pass it back unchanged to POST /exchanges/hyperliquid/withdraw.

destination
string
required
amount
string
required