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#
| Field | Type | Description |
|---|---|---|
type | string | Always "withdraw3" |
signatureChainId | string | Chain ID for signing (e.g., "0xa4b1" for Arbitrum) |
hyperliquidChain | string | Source chain: "Mainnet" or "Testnet" |
destination | string | External Ethereum address to receive funds |
amount | string | Amount to withdraw in USD |
time | number | Transaction timestamp |
Withdrawal Process#
- User submits
withdraw3action - Validators verify the withdrawal request
- Validators sign the withdrawal (ValidatorSignWithdrawalAction)
- Bridge transaction is executed on Arbitrum
- 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.
Related Action Types#
- ValidatorSignWithdrawalAction - Validator withdrawal signatures
- VoteEthFinalizedWithdrawalAction - Finalized withdrawal votes
- usdSend - Internal USD transfers