HyperliquidVault

Documentation for eth_defi.hyperliquid.vault.HyperliquidVault Python class.

class HyperliquidVault

Bases: object

Client for extracting historical Hyperliquid vault events and data.

This class provides methods to fetch vault information from the Hyperliquid API and serialize the data into Pandas DataFrames for analysis.

Example:

from eth_defi.hyperliquid.session import create_hyperliquid_session
from eth_defi.hyperliquid.vault import HyperliquidVault, HYPERLIQUID_API_URL

# Create a session for API requests
session = create_hyperliquid_session()

# Initialize for mainnet
vault = HyperliquidVault(
    session=session,
    vault_address="0x1234567890abcdef1234567890abcdef12345678",
)

# Or for testnet
vault = HyperliquidVault(
    session=session,
    vault_address="0x1234567890abcdef1234567890abcdef12345678",
    server_url=HYPERLIQUID_TESTNET_API_URL,
)
Parameters
  • session – HTTP session with retry logic from create_hyperliquid_session()

  • vault_address – The vault’s blockchain address

  • server_url – Hyperliquid API URL (defaults to mainnet)

  • timeout – HTTP request timeout in seconds

Initialize the Hyperliquid vault client.

Parameters
  • session – HTTP session with retry logic. Use create_hyperliquid_session() to create one.

  • vault_address – The vault’s blockchain address

  • server_url – Hyperliquid API URL. Use HYPERLIQUID_API_URL for mainnet or HYPERLIQUID_TESTNET_API_URL for testnet.

  • timeout – HTTP request timeout in seconds

Attributes summary

info

Cached vault information.

Methods summary

__init__(session, vault_address[, ...])

Initialize the Hyperliquid vault client.

fetch_info()

Fetch detailed vault information from the Hyperliquid API.

__init__(session, vault_address, server_url='https://api.hyperliquid.xyz', timeout=30.0)

Initialize the Hyperliquid vault client.

Parameters
  • session (requests.sessions.Session) – HTTP session with retry logic. Use create_hyperliquid_session() to create one.

  • vault_address (eth_typing.evm.HexAddress) – The vault’s blockchain address

  • server_url (str) – Hyperliquid API URL. Use HYPERLIQUID_API_URL for mainnet or HYPERLIQUID_TESTNET_API_URL for testnet.

  • timeout (float) – HTTP request timeout in seconds

fetch_info()

Fetch detailed vault information from the Hyperliquid API.

Makes a request to the vaultDetails endpoint and returns a typed VaultInfo dataclass with all vault metadata.

Use info property for cached access.

Example:

from eth_defi.hyperliquid.session import create_hyperliquid_session
from eth_defi.hyperliquid.vault import HyperliquidVault

session = create_hyperliquid_session()
vault = HyperliquidVault(
    session=session,
    vault_address="0x3df9769bbbb335340872f01d8157c779d73c6ed0",
)

info = vault.fetch_info()
print(f"Vault: {info.name}")
print(f"Leader: {info.leader}")
print(f"Followers: {len(info.followers)}")
Returns

VaultInfo dataclass with vault details

Raises

requests.HTTPError – If the HTTP request fails

Return type

eth_defi.hyperliquid.vault.VaultInfo

property info: eth_defi.hyperliquid.vault.VaultInfo

Cached vault information.

Fetches vault details on first access and caches the result. Use fetch_info() to force a fresh fetch.

Returns

VaultInfo dataclass with vault details