fetch_vault_deposits

Documentation for eth_defi.hyperliquid.deposit.fetch_vault_deposits function.

fetch_vault_deposits(session, vault_address, start_time=None, end_time=None, server_url='https://api.hyperliquid.xyz', timeout=30.0)

Fetch all deposit and withdrawal events for a vault.

Fetches ledger updates from the Hyperliquid API using the userNonFundingLedgerUpdates endpoint and filters for vault-related events (deposits, withdrawals, distributions, etc.).

The events are yielded in chronological order (oldest first).

Example:

from datetime import datetime, timedelta
from eth_defi.hyperliquid.session import create_hyperliquid_session
from eth_defi.hyperliquid.deposit import fetch_vault_deposits

session = create_hyperliquid_session()
vault = "0x3df9769bbbb335340872f01d8157c779d73c6ed0"

# Fetch last 7 days of deposits/withdrawals
events = list(
    fetch_vault_deposits(
        session,
        vault,
        start_time=datetime.now() - timedelta(days=7),
    )
)
print(f"Fetched {len(events)} vault events")
Parameters
  • session (requests.sessions.Session) – HTTP session with retry logic from create_hyperliquid_session()

  • vault_address (eth_typing.evm.HexAddress) – Vault address to fetch events for

  • start_time (datetime.datetime | None) – Start of time range (inclusive). Defaults to 30 days ago.

  • end_time (datetime.datetime | None) – End of time range (inclusive). Defaults to current time.

  • server_url (str) – Hyperliquid API URL

  • timeout (float) – HTTP request timeout in seconds

Returns

Iterator of vault events sorted by timestamp ascending (oldest first)

Raises

requests.HTTPError – If the HTTP request fails after retries

Return type

Iterator[eth_defi.hyperliquid.deposit.VaultDepositEvent]