Docs

VoteEthDepositAction - Validator Deposit Votes

Validator votes on ETH deposit transactions for Hyperliquid bridge operations. Part of the cross-chain consensus mechanism.

Validators vote to confirm ETH deposit transactions from the bridge contract. This is part of the cross-chain consensus mechanism that secures deposits from Arbitrum to Hyperliquid.

Sample Data

JSON
{
  "signature": {
    "r": "0x74e0218199716f8217518bcb72240de1c17ff6e6682fbacdd820e60c13ac0454",
    "s": "0x4a5a442f5dad771b48f3852b4d96cc561de2804b6c1853e8d1548015a732b89f",
    "v": 28
  },
  "action": {
    "type": "VoteEthDepositAction",
    "user": "0x09a8c041c8d966ddb20b2ea5b556ef0318365182",
    "usd": 90391034,
    "ethId": {
      "block_number": 420281244,
      "tx_index": 25,
      "event_type": "Deposit",
      "event_index": 0,
      "tx_hash": "0x107c5fc0f824b2993b28ade0560cb732b0f25df4a47a777c47be108c432ce933"
    }
  },
  "nonce": 1768146734681
}

View this transaction on Hypurrscan

Field Reference

Action Fields

FieldTypeDescription
typestringAlways "VoteEthDepositAction"
userstringAddress of the user who made the deposit
usdnumberDeposit amount in raw units (6 decimals)
ethTxHashstringTransaction hash of the deposit on Arbitrum

Bridge Consensus Process

  1. User deposits funds to bridge contract on Arbitrum
  2. Validators observe the deposit transaction
  3. Validators submit VoteEthDepositAction votes
  4. Once threshold is reached, funds are credited on Hyperliquid

Use Cases

Bridge Monitoring

Track deposit confirmations across the bridge:

Python
def process_VoteEthDepositAction(action):
    user = action.get('user')
    amount = action.get('usd') / 1_000_000
    eth_tx = action.get('ethTxHash')

    print(f"Deposit vote: ${amount:,.2f} for {user[:10]}... (tx: {eth_tx[:10]}...)")

Validator Activity Tracking

Monitor which validators are actively participating in bridge consensus.

Deposit Latency Analysis

Track time from Arbitrum transaction to Hyperliquid credit.