curl --request POST \
--url https://api.hyperliquid.xyz/exchange \
--header 'Content-Type: application/json' \
--data '
{
"action": {
"type": "spotSend",
"hyperliquidChain": "Mainnet",
"signatureChainId": "0xa4b1",
"destination": "0x1234567890123456789012345678901234567890",
"token": "PURR",
"amount": "1000.0",
"time": 1705234567890
},
"nonce": 1705234567890,
"signature": {
"r": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"s": "0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321",
"v": 27
},
"vaultAddress": null
}
'{
"status": "ok",
"response": {
"type": "spotSend",
"data": {
"status": "success"
}
}
}curl --request POST \
--url https://api.hyperliquid.xyz/exchange \
--header 'Content-Type: application/json' \
--data '
{
"action": {
"type": "spotSend",
"hyperliquidChain": "Mainnet",
"signatureChainId": "0xa4b1",
"destination": "0x1234567890123456789012345678901234567890",
"token": "PURR",
"amount": "1000.0",
"time": 1705234567890
},
"nonce": 1705234567890,
"signature": {
"r": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"s": "0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321",
"v": 27
},
"vaultAddress": null
}
'{
"status": "ok",
"response": {
"type": "spotSend",
"data": {
"status": "success"
}
}
}action (object, required) — The spot send action object containing:
type (string) — Must be "spotSend"hyperliquidChain (string) — "Mainnet" for mainnet, "Testnet" for testnetsignatureChainId (string) — Chain ID used for signing in hex format (e.g., "0xa4b1" for Arbitrum)destination (string) — Recipient address in 42-character hexadecimal formattoken (string) — Token identifier in format "TOKEN_NAME:TOKEN_ID" (e.g., "PURR:0xc1fb593aeffbeb02f85e0308e9956a90")amount (string) — Amount of tokens to send (e.g., "100.5")time (number) — Current timestamp in milliseconds (must match nonce)nonce (number, required) — Current timestamp in milliseconds (must match action.time)
signature (object, required) — EIP-712 signature of the action
"TOKEN_NAME:TOKEN_ID""PURR:0xc1fb593aeffbeb02f85e0308e9956a90"{
"types": {
"HyperliquidTransaction:SpotSend": [
{"name": "hyperliquidChain", "type": "string"},
{"name": "destination", "type": "string"},
{"name": "token", "type": "string"},
{"name": "amount", "type": "string"},
{"name": "time", "type": "uint64"}
]
},
"primaryType": "HyperliquidTransaction:SpotSend",
"domain": {
"name": "HyperliquidSignTransaction",
"version": "1",
"chainId": 42161,
"verifyingContract": "0x0000000000000000000000000000000000000000"
},
"message": {
"hyperliquidChain": "Mainnet",
"destination": "0x...",
"token": "PURR:0xc1fb593aeffbeb02f85e0308e9956a90",
"amount": "100.0",
"time": 1234567890123
}
}
status — "ok" if successfulresponse — Contains transfer details:
type — "default"curl -X POST https://api.hyperliquid.xyz/exchange \
-H "Content-Type: application/json" \
-d '{
"action": {
"type": "spotSend",
"hyperliquidChain": "Mainnet",
"signatureChainId": "0xa4b1",
"destination": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
"token": "PURR:0xc1fb593aeffbeb02f85e0308e9956a90",
"amount": "100.0",
"time": 1234567890123
},
"nonce": 1234567890123,
"signature": {...}
}'
{
"status": "ok",
"response": {
"type": "default"
}
}
Was this page helpful?