Skip to main content

withdraw3

Withdraw funds from Hyperliquid to an external Ethereum address (typically on Arbitrum). This initiates the bridge process to move assets off the L1.

Sample Data#

{
"signature": {
"r": "0xbf01efa816fdc37c8eea7ae4893999cae61ead196013d4bcb36ff8aad3058650",
"s": "0x2dcc0e2d708eccdf7ab68a23b99b4142aa6eca02141623851158821d371bd610",
"v": 27
},
"action": {
"type": "withdraw3",
"signatureChainId": "0x66eee",
"hyperliquidChain": "Mainnet",
"destination": "0xc2c9981b9061e533affaaf03105c561154f1ec84",
"amount": "16.494002",
"time": 1768146916924
},
"nonce": 1768146916924
}

View this transaction on Hypurrscan →

Field Reference#

Action Fields#

FieldTypeDescription
typestringAlways "withdraw3"
signatureChainIdstringChain ID for signing (e.g., "0xa4b1" for Arbitrum)
hyperliquidChainstringSource chain: "Mainnet" or "Testnet"
destinationstringExternal Ethereum address to receive funds
amountstringAmount to withdraw in USD
timenumberTransaction timestamp

Withdrawal Process#

  1. User submits withdraw3 action
  2. Validators verify the withdrawal request
  3. Validators sign the withdrawal (ValidatorSignWithdrawalAction)
  4. Bridge transaction is executed on Arbitrum
  5. Funds arrive at destination address

Use Cases#

Withdrawal Monitoring#

Track withdrawals leaving the platform:

def process_withdraw3_action(action):
destination = action.get('destination')
amount = action.get('amount')

print(f"Withdrawal: ${amount} to {destination}")

Capital Flow Analysis#

Monitor net flows in and out of Hyperliquid to understand market sentiment.

Compliance Monitoring#

Track withdrawal destinations for regulatory compliance.