Docs

ValidatorSignWithdrawalAction - Validator Withdrawal Signatures

Validator signatures for withdrawal transactions on the Hyperliquid bridge.

Validators sign withdrawal transactions to authorize bridge transfers to external addresses.

Sample Data

JSON
{
  "signature": {
    "r": "0x62a3295228b569f9a08d3776a12bbb2bd56e75153c3dadefda97e84c1be87097",
    "s": "0x5b7d385d6e32cbb89ed5fad01877ca78bf562e1333ae16fb1bcb7eca946ed7c6",
    "v": 28
  },
  "action": {
    "type": "ValidatorSignWithdrawalAction",
    "user": "0x6275c773fa0d1fd29e39322afee475827171c26b",
    "destination": "0xc2c9981b9061e533affaaf03105c561154f1ec84",
    "usd": 15494002,
    "nonce": 1768146916924000,
    "signature": {
      "r": "0x1e63066eff19a658f69813bf33d081f856846c684e1488b1d021ec5419ba2f0c",
      "s": "0x8a56ce8e4ff9f0115fdef290e6ea2cc4364d9d0faa406a255a8f13df936a16d",
      "v": 28
    }
  },
  "nonce": 1768146734592
}

View this transaction on Hypurrscan

Field Reference

Action Fields

FieldTypeDescription
typestringAlways "ValidatorSignWithdrawalAction"
userstringUser requesting withdrawal
destinationstringExternal destination address
noncenumberWithdrawal nonce
usdnumberAmount in raw units

Use Cases

Withdrawal Authorization Tracking

Monitor validator withdrawal signatures:

Python
def process_ValidatorSignWithdrawalAction(action):
    user = action.get('user')
    amount = action.get('usd') / 1_000_000
    print(f"Withdrawal signed: ${amount:,.2f} for {user[:10]}...")