vaultTransfer
Deposit funds into or withdraw funds from a Hyperliquid vault. Vaults are shared trading accounts that allow multiple users to pool capital under a vault manager's control.
Sample Data#
{
"signature": {
"r": "0xb2eaf71a6dd711b38983c5ca9c813e6260cd11414d5b66bfc734ccf27671858c",
"s": "0x77e7d3501bc1c6743787a1967dcdc0618f0f445df70bb98b99dccc66881d4b33",
"v": 28
},
"action": {
"type": "vaultTransfer",
"vaultAddress": "0xdfc24b077bc1425ad1dea75bcb6f8158e10df303",
"isDeposit": false,
"usd": 500000000
},
"nonce": 1768147192344,
"expiresAfter": 1768147206900
}
View this transaction on Hypurrscan →
Field Reference#
Action Fields#
| Field | Type | Description |
|---|---|---|
type | string | Always "vaultTransfer" |
vaultAddress | string | Ethereum address of the vault |
isDeposit | boolean | true for deposit, false for withdrawal |
usd | number | Amount in raw units (6 decimals, so 50000000 = 50 USD) |
Optional Fields#
| Field | Type | Description |
|---|---|---|
expiresAfter | number | Timestamp after which the transfer expires |
Amount Conversion#
The usd field uses 6 decimal places:
50000000= 50.00 USD1000000= 1.00 USD1000000000= 1,000.00 USD
Use Cases#
Vault Flow Analysis#
Track capital flows into and out of vaults:
def process_vaultTransfer_action(action):
vault = action.get('vaultAddress')
amount = action.get('usd') / 1_000_000 # Convert to USD
direction = 'deposit' if action.get('isDeposit') else 'withdrawal'
print(f"Vault {direction}: ${amount:,.2f} to {vault[:10]}...")
Fund Manager Performance#
Monitor vault deposit/withdrawal patterns to understand:
- Vault popularity and AUM trends
- Investor confidence in vault strategies
- Capital rotation between vaults
Copy Trading Analysis#
Track which vaults are attracting deposits to identify successful trading strategies.
Related Action Types#
- NetChildVaultPositionsAction - Net child vault positions
- subAccountTransfer - Transfer between main and sub-accounts