Skip to content

Info

Read-only request-response client.

active_asset_data

Return user's active asset data.

Parameters:

Name Type Description Default
user str

Account address.

required
coin str

Coin, e.g. "ETH".

required
References
Source code in pkg/src/hyperliquid/info/perps/active_asset_data.py
async def active_asset_data(
  self, user: str, coin: str
) -> ActiveAssetDataResponse:
  """Return user's active asset data.

  Args:
    user: Account address.
    coin: Coin, e.g. "ETH".

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-users-active-asset-data)
  """
  r = await self.request({'type': 'activeAssetData', 'user': user, 'coin': coin})
  return adapter.validate_python(r) if self.validate else r

aligned_quote_token_info

Return aligned quote token status for a token index.

Parameters:

Name Type Description Default
token int

Token index.

required
References
Source code in pkg/src/hyperliquid/info/methods/aligned_quote_token_info.py
async def aligned_quote_token_info(
  self, token: int
) -> AlignedQuoteTokenInfoResponse | None:
  """Return aligned quote token status for a token index.

  Args:
    token: Token index.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-aligned-quote-token-status)
  """
  r = await self.request({'type': 'alignedQuoteTokenInfo', 'token': token})
  return adapter.validate_python(r) if self.validate else r

all_borrow_lend_reserve_states

Return all borrow/lend reserve states.

References
Source code in pkg/src/hyperliquid/info/methods/all_borrow_lend_reserve_states.py
async def all_borrow_lend_reserve_states(self) -> AllBorrowLendReserveStatesResponse:
  """Return all borrow/lend reserve states.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-all-borrow-lend-reserve-states)
  """
  r = await self.request({'type': 'allBorrowLendReserveStates'})
  return adapter.validate_python(r) if self.validate else r

all_mids

Return mids for all coins.

Parameters:

Name Type Description Default
dex str | None

Perp dex name. Defaults to the empty string which represents the first perp dex.

None
References
Source code in pkg/src/hyperliquid/info/methods/all_mids.py
async def all_mids(self, dex: str | None = None) -> AllMidsResponse:
  """Return mids for all coins.

  Args:
    dex: Perp dex name. Defaults to the empty string which represents the
      first perp dex.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-mids-for-all-coins)
  """
  params = {'type': 'allMids'}
  if dex is not None:
    params['dex'] = dex
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

all_perp_metas

Return all perpetuals metadata and asset contexts.

References
Source code in pkg/src/hyperliquid/info/perps/all_perp_metas.py
async def all_perp_metas(self) -> AllPerpMetasResponse:
  """Return all perpetuals metadata and asset contexts.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-all-perpetuals-metadata-universe-and-margin-tables)
  """
  r = await self.request({'type': 'allPerpMetas'})
  return adapter.validate_python(r) if self.validate else r

borrow_lend_reserve_state

Return borrow/lend reserve state for a token index.

Parameters:

Name Type Description Default
token int

Token index.

required
References
Source code in pkg/src/hyperliquid/info/methods/borrow_lend_reserve_state.py
async def borrow_lend_reserve_state(
  self, token: int
) -> BorrowLendReserveStateResponse:
  """Return borrow/lend reserve state for a token index.

  Args:
    token: Token index.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-borrow-lend-reserve-state)
  """
  r = await self.request({'type': 'borrowLendReserveState', 'token': token})
  return adapter.validate_python(r) if self.validate else r

borrow_lend_user_state

Return borrow/lend user state.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/borrow_lend_user_state.py
async def borrow_lend_user_state(
  self, user: str
) -> BorrowLendUserStateResponse:
  """Return borrow/lend user state.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-borrow-lend-user-state)
  """
  r = await self.request({'type': 'borrowLendUserState', 'user': user})
  return adapter.validate_python(r) if self.validate else r

builder_fee_approved

Return the max builder fee approved.

Parameters:

Name Type Description Default
user str

Account address.

required
builder str

Builder address.

required
References
Source code in pkg/src/hyperliquid/info/methods/builder_fee_approved.py
async def builder_fee_approved(
  self, user: str, builder: str
) -> BuilderFeeApprovedResponse:
  """Return the max builder fee approved.

  Args:
    user: Account address.
    builder: Builder address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#check-builder-fee-approval)
  """
  r = await self.request({
    'type': 'maxBuilderFee',
    'user': user,
    'builder': builder,
  })
  return adapter.validate_python(r) if self.validate else r

candle_snapshot

Return a candle snapshot.

Parameters:

Name Type Description Default
coin str

Asset being queried.

required
interval str

Time interval of the candles.

required
start_time int

Timestamp of the first candle in the snapshot (epoch ms).

required
end_time int

Timestamp of the last candle in the snapshot (epoch ms).

required
References
Source code in pkg/src/hyperliquid/info/methods/candle_snapshot.py
async def candle_snapshot(
  self, *, coin: str, interval: str,
  start_time: int, end_time: int
) -> CandleSnapshotResponse:
  """Return a candle snapshot.

  Args:
    coin: Asset being queried.
    interval: Time interval of the candles.
    start_time: Timestamp of the first candle in the snapshot (epoch ms).
    end_time: Timestamp of the last candle in the snapshot (epoch ms).

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#candle-snapshot)
  """
  r = await self.request({
    'type': 'candleSnapshot',
    'req': {
      'coin': coin,
      'interval': interval,
      'startTime': start_time,
      'endTime': end_time,
    },
  })
  return adapter.validate_python(r) if self.validate else r

clearinghouse_state

Return a user's perpetuals account summary.

Parameters:

Name Type Description Default
user str

Account address.

required
dex str | None

Perp dex name. Defaults to the empty string which represents the first perp dex.

None
References
Source code in pkg/src/hyperliquid/info/perps/clearinghouse_state.py
async def clearinghouse_state(
  self, user: str, *, dex: str | None = None
) -> ClearinghouseStateResponse:
  """Return a user's perpetuals account summary.

  Args:
    user: Account address.
    dex: Perp dex name. Defaults to the empty string which represents the
      first perp dex.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-users-perpetuals-account-summary)
  """
  params: dict[str, object] = {'type': 'clearinghouseState', 'user': user}
  if dex is not None:
    params['dex'] = dex
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

frontend_open_orders

Return open orders with additional frontend info.

Parameters:

Name Type Description Default
user str

Account address.

required
dex str | None

Perp dex name. Defaults to the empty string which represents the first perp dex.

None
References
Source code in pkg/src/hyperliquid/info/methods/frontend_open_orders.py
async def frontend_open_orders(
  self, user: str, *, dex: str | None = None
) -> FrontendOpenOrdersResponse:
  """Return open orders with additional frontend info.

  Args:
    user: Account address.
    dex: Perp dex name. Defaults to the empty string which represents the
      first perp dex.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-open-orders-with-additional-frontend-info)
  """
  params = {'type': 'frontendOpenOrders', 'user': user}
  if dex is not None:
    params['dex'] = dex
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

funding_history

Return historical funding rates, at most 500 entries. Use funding_history_paged for more.

Parameters:

Name Type Description Default
coin str

Coin, e.g. "ETH".

required
start_time int

Start time in milliseconds, inclusive.

required
end_time int | None

End time in milliseconds, inclusive.

None
References
Source code in pkg/src/hyperliquid/info/perps/funding_history.py
async def funding_history(
  self, coin: str, start_time: int, *, end_time: int | None = None
) -> list[FundingHistoryEntry]:
  """Return historical funding rates, at most 500 entries. Use `funding_history_paged` for more.

  Args:
    coin: Coin, e.g. "ETH".
    start_time: Start time in milliseconds, inclusive.
    end_time: End time in milliseconds, inclusive.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-historical-funding-rates)
  """
  params: dict[str, object] = {
    'type': 'fundingHistory',
    'coin': coin,
    'startTime': start_time,
  }
  if end_time is not None:
    params['endTime'] = end_time
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

funding_history_paged

Return historical funding rates, automatically paginating the results.

A single call to funding_history returns at most 500 entries, so prefer this whenever the requested range may hold more.

Pages are advanced to the last timestamp seen rather than past it, and the re-fetched entries are dropped by position, so entries sharing a millisecond are never skipped at a page boundary.

Parameters:

Name Type Description Default
coin str

Coin, e.g. "ETH".

required
start_time int

Start time in milliseconds, inclusive.

required
end_time int | None

End time in milliseconds, inclusive.

None

Raises:

Type Description
PaginationError

The range cannot be walked without losing entries.

References
Source code in pkg/src/hyperliquid/info/perps/funding_history.py
async def funding_history_paged(
  self, coin: str, start_time: int, *, end_time: int | None = None
) -> AsyncIterable[list[FundingHistoryEntry]]:
  """Return historical funding rates, automatically paginating the results.

  A single call to `funding_history` returns at most 500 entries, so prefer this
  whenever the requested range may hold more.

  Pages are advanced to the last timestamp seen rather than past it, and the
  re-fetched entries are dropped by position, so entries sharing a millisecond
  are never skipped at a page boundary.

  Args:
    coin: Coin, e.g. "ETH".
    start_time: Start time in milliseconds, inclusive.
    end_time: End time in milliseconds, inclusive.

  Raises:
    PaginationError: The range cannot be walked without losing entries.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-historical-funding-rates)
  """
  async def fetch(cursor: int) -> list[FundingHistoryEntry]:
    """Fetch one page of funding rates starting at `cursor`."""
    return await self.funding_history(coin, cursor, end_time=end_time)
  async for page in paginate(
    fetch, start_time=start_time, end_time=end_time, page_size=PAGE_SIZE,
  ):
    yield page

l2_book

Return an L2 book snapshot.

Parameters:

Name Type Description Default
coin str

From spot_meta['universe'][idx]['name'] or perp_meta['universe'][idx]['name']. See the docs for full details.

required
n_sig_figs int | None

Aggregate levels to significant figures.

None
mantissa int | None

Only allowed when n_sig_figs is 5.

None
References
Source code in pkg/src/hyperliquid/info/methods/l2_book.py
async def l2_book(
  self, coin: str, *,
  n_sig_figs: int | None = None,
  mantissa: int | None = None
) -> L2BookResponse:
  """Return an L2 book snapshot.

  Args:
    coin: From `spot_meta['universe'][idx]['name']` or `perp_meta['universe'][idx]['name']`. See the [docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/asset-ids) for full details.
    n_sig_figs: Aggregate levels to significant figures.
    mantissa: Only allowed when `n_sig_figs` is 5.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#l2-book-snapshot)
  """
  params: dict[str, object] = {'type': 'l2Book', 'coin': coin}
  if n_sig_figs is not None:
    params['nSigFigs'] = n_sig_figs
  if mantissa is not None:
    params['mantissa'] = mantissa
  r = await self.request(params)
  if r is None:
    raise ApiError(f'L2 book "{coin}" not found')
  return adapter.validate_python(r) if self.validate else r

open_orders

Return a user's open orders.

Parameters:

Name Type Description Default
user str

Account address.

required
dex str | None

Perp dex name. Defaults to the empty string which represents the first perp dex.

None
References
Source code in pkg/src/hyperliquid/info/methods/open_orders.py
async def open_orders(
  self, user: str, *, dex: str | None = None
) -> list[OpenOrder]:
  """Return a user's open orders.

  Args:
    user: Account address.
    dex: Perp dex name. Defaults to the empty string which represents the
      first perp dex.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-open-orders)
  """
  params = {'type': 'openOrders', 'user': user}
  if dex is not None:
    params['dex'] = dex
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

order_status

Return order status by order id or client order id.

Parameters:

Name Type Description Default
user str

Account address.

required
oid int | str

Order id or 16-byte client order id hex string.

required
References
Source code in pkg/src/hyperliquid/info/methods/order_status.py
async def order_status(
  self, user: str, oid: int | str
) -> OrderStatusResponse:
  """Return order status by order id or client order id.

  Args:
    user: Account address.
    oid: Order id or 16-byte client order id hex string.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-order-status-by-oid-or-cloid)
  """
  r = await self.request({'type': 'orderStatus', 'user': user, 'oid': oid})
  return adapter.validate_python(r) if self.validate else r

perp_annotation

Return perp annotation for a coin.

Parameters:

Name Type Description Default
coin str

Coin name, e.g. "BTC".

required
References
Source code in pkg/src/hyperliquid/info/perps/perp_annotation.py
async def perp_annotation(self, coin: str) -> PerpAnnotationResponse | None:
  """Return perp annotation for a coin.

  Args:
    coin: Coin name, e.g. "BTC".

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-perp-annotation)
  """
  r = await self.request({'type': 'perpAnnotation', 'coin': coin})
  return adapter.validate_python(r) if self.validate else r

perp_categories

Return perp categories.

References
Source code in pkg/src/hyperliquid/info/perps/perp_categories.py
async def perp_categories(self) -> PerpCategoriesResponse:
  """Return perp categories.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-perp-categories)
  """
  r = await self.request({'type': 'perpCategories'})
  return adapter.validate_python(r) if self.validate else r

perp_deploy_auction_status

Return perp deploy auction status.

References
Source code in pkg/src/hyperliquid/info/perps/perp_deploy_auction_status.py
async def perp_deploy_auction_status(self) -> PerpDeployAuctionStatusResponse:
  """Return perp deploy auction status.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-information-about-the-perp-deploy-auction)
  """
  r = await self.request({'type': 'perpDeployAuctionStatus'})
  return adapter.validate_python(r) if self.validate else r

perp_dex_limits

Return builder-deployed perp market limits.

Parameters:

Name Type Description Default
dex str

Perp dex name (empty string not allowed).

required
References
Source code in pkg/src/hyperliquid/info/perps/perp_dex_limits.py
async def perp_dex_limits(self, dex: str) -> PerpDexLimitsResponse:
  """Return builder-deployed perp market limits.

  Args:
    dex: Perp dex name (empty string not allowed).

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-builder-deployed-perp-market-limits)
  """
  r = await self.request({'type': 'perpDexLimits', 'dex': dex})
  return adapter.validate_python(r) if self.validate else r

perp_dex_status

Return perp dex status.

Parameters:

Name Type Description Default
dex str

Perp dex name. The empty string represents the first perp dex.

''
References
Source code in pkg/src/hyperliquid/info/perps/perp_dex_status.py
async def perp_dex_status(self, dex: str = '') -> PerpDexStatusResponse:
  """Return perp dex status.

  Args:
    dex: Perp dex name. The empty string represents the first perp dex.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#get-perp-market-status)
  """
  r = await self.request({'type': 'perpDexStatus', 'dex': dex})
  return adapter.validate_python(r) if self.validate else r

perp_dexs

Return all perp dexes.

References
Source code in pkg/src/hyperliquid/info/perps/perp_dexs.py
async def perp_dexs(self) -> list[PerpDex|None]:
  """Return all perp dexes.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-all-perpetual-dexs)
  """
  r = await self.request({'type': 'perpDexs'})
  return adapter.validate_python(r) if self.validate else r

perp_meta

Return perpetuals metadata (universe and margin tables).

Parameters:

Name Type Description Default
dex str | None

Perp dex name. Defaults to the empty string which represents the first perp dex.

None
References
Source code in pkg/src/hyperliquid/info/perps/perp_meta.py
async def perp_meta(self, dex: str | None = None) -> PerpMetaResponse:
  """Return perpetuals metadata (universe and margin tables).

  Args:
    dex: Perp dex name. Defaults to the empty string which represents the
      first perp dex.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-perpetuals-metadata-universe-and-margin-tables)
  """
  params: dict[str, object] = {'type': 'meta'}
  if dex is not None:
    params['dex'] = dex
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

perp_meta_and_asset_ctxs

Return perpetuals metadata and asset contexts.

Parameters:

Name Type Description Default
dex str | None

Perp dex name. Defaults to the empty string which represents the first perp dex.

None
References
Source code in pkg/src/hyperliquid/info/perps/perp_meta_and_asset_ctxs.py
async def perp_meta_and_asset_ctxs(
  self, dex: str | None = None
) -> PerpMetaAndAssetCtxsResponse:
  """Return perpetuals metadata and asset contexts.

  Args:
    dex: Perp dex name. Defaults to the empty string which represents the
      first perp dex.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-perpetuals-asset-contexts-includes-mark-price-current-funding-open-interest-etc)
  """
  params: dict[str, object] = {'type': 'metaAndAssetCtxs'}
  if dex is not None:
    params['dex'] = dex
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

perps_at_open_interest_cap

Return perps at open interest caps.

Parameters:

Name Type Description Default
dex str | None

Perp dex name. Defaults to the empty string which represents the first perp dex.

None
References
Source code in pkg/src/hyperliquid/info/perps/perps_at_open_interest_cap.py
async def perps_at_open_interest_cap(
  self, dex: str | None = None
) -> PerpsAtOpenInterestCapResponse:
  """Return perps at open interest caps.

  Args:
    dex: Perp dex name. Defaults to the empty string which represents the
      first perp dex.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-perps-at-open-interest-caps)
  """
  params: dict[str, object] = {'type': 'perpsAtOpenInterestCap'}
  if dex is not None:
    params['dex'] = dex
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

predicted_fundings

Return predicted funding rates for different venues.

References
Source code in pkg/src/hyperliquid/info/perps/predicted_fundings.py
async def predicted_fundings(self) -> PredictedFundingsResponse:
  """Return predicted funding rates for different venues.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-predicted-funding-rates-for-different-venues)
  """
  r = await self.request({'type': 'predictedFundings'})
  return adapter.validate_python(r) if self.validate else r

spot_clearinghouse_state

Return a user's spot token balances.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/spot/spot_clearinghouse_state.py
async def spot_clearinghouse_state(self, user: str) -> SpotClearinghouseStateResponse:
  """Return a user's spot token balances.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-a-users-token-balances)
  """
  r = await self.request({'type': 'spotClearinghouseState', 'user': user})
  return adapter.validate_python(r) if self.validate else r

spot_deploy_state

Return spot deploy auction status.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/spot/spot_deploy_state.py
async def spot_deploy_state(self, user: str) -> SpotDeployStateResponse:
  """Return spot deploy auction status.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-information-about-the-spot-deploy-auction)
  """
  r = await self.request({'type': 'spotDeployState', 'user': user})
  return adapter.validate_python(r) if self.validate else r

spot_meta

Return spot universe and token metadata.

References
Source code in pkg/src/hyperliquid/info/spot/spot_meta.py
async def spot_meta(self) -> SpotMetaResponse:
  """Return spot universe and token metadata.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot)
  """
  r = await self.request({'type': 'spotMeta'})
  return adapter.validate_python(r) if self.validate else r

spot_meta_and_asset_ctxs

Return spot metadata and asset contexts.

References
Source code in pkg/src/hyperliquid/info/spot/spot_meta_and_asset_ctxs.py
async def spot_meta_and_asset_ctxs(self) -> SpotMetaAndAssetCtxsResponse:
  """Return spot metadata and asset contexts.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-spot-asset-contexts)
  """
  r = await self.request({'type': 'spotMetaAndAssetCtxs'})
  return adapter.validate_python(r) if self.validate else r

spot_pair_deploy_auction_status

Return spot pair deploy auction status.

References
Source code in pkg/src/hyperliquid/info/spot/spot_pair_deploy_auction_status.py
async def spot_pair_deploy_auction_status(self) -> SpotPairDeployAuctionStatusResponse:
  """Return spot pair deploy auction status.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-information-about-the-spot-pair-deploy-auction)
  """
  r = await self.request({'type': 'spotPairDeployAuctionStatus'})
  return adapter.validate_python(r) if self.validate else r

staking_delegations

Return a user's staking delegations.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/staking_delegations.py
async def staking_delegations(self, user: str) -> StakingDelegationsResponse:
  """Return a user's staking delegations.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-delegations)
  """
  r = await self.request({'type': 'delegations', 'user': user})
  return adapter.validate_python(r) if self.validate else r

staking_history

Return a user's staking history.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/staking_history.py
async def staking_history(self, user: str) -> StakingHistoryResponse:
  """Return a user's staking history.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-history)
  """
  r = await self.request({'type': 'delegatorHistory', 'user': user})
  return adapter.validate_python(r) if self.validate else r

staking_rewards

Return a user's staking rewards.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/staking_rewards.py
async def staking_rewards(self, user: str) -> StakingRewardsResponse:
  """Return a user's staking rewards.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-rewards)
  """
  r = await self.request({'type': 'delegatorRewards', 'user': user})
  return adapter.validate_python(r) if self.validate else r

staking_summary

Return a user's staking summary.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/staking_summary.py
async def staking_summary(self, user: str) -> StakingSummaryResponse:
  """Return a user's staking summary.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-summary)
  """
  r = await self.request({'type': 'delegatorSummary', 'user': user})
  return adapter.validate_python(r) if self.validate else r

sub_accounts

Return a user's subaccounts.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/sub_accounts.py
async def sub_accounts(self, user: str) -> SubAccountsResponse:
  """Return a user's subaccounts.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-subaccounts)
  """
  r = await self.request({'type': 'subAccounts', 'user': user})
  return adapter.validate_python(r) if self.validate else r

token_details

Return token details.

Parameters:

Name Type Description Default
token_id str

Onchain token id.

required
References
Source code in pkg/src/hyperliquid/info/spot/token_details.py
async def token_details(self, token_id: str) -> TokenDetailsResponse:
  """Return token details.

  Args:
    token_id: Onchain token id.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-information-about-a-token)
  """
  r = await self.request({'type': 'tokenDetails', 'tokenId': token_id})
  return adapter.validate_python(r) if self.validate else r

user_abstraction

Return a user's abstraction state.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/user_abstraction.py
async def user_abstraction(self, user: str) -> UserAbstractionResponse:
  """Return a user's abstraction state.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-abstraction-state)
  """
  r = await self.request({'type': 'userAbstraction', 'user': user})
  return adapter.validate_python(r) if self.validate else r

user_dex_abstraction

Return a user's HIP-3 DEX abstraction state.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/user_dex_abstraction.py
async def user_dex_abstraction(self, user: str) -> UserDexAbstractionResponse:
  """Return a user's HIP-3 DEX abstraction state.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-hip-3-dex-abstraction-state)
  """
  r = await self.request({'type': 'userDexAbstraction', 'user': user})
  return adapter.validate_python(r) if self.validate else r

user_fees

Return a user's fee schedule and rates.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/user_fees.py
async def user_fees(self, user: str) -> UserFeesResponse:
  """Return a user's fee schedule and rates.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-fees)
  """
  r = await self.request({'type': 'userFees', 'user': user})
  return adapter.validate_python(r) if self.validate else r

user_fills

Return a user's most recent fills.

Parameters:

Name Type Description Default
user str

Account address.

required
aggregate_by_time bool | None

Aggregate partial fills in the same block.

None
References
Source code in pkg/src/hyperliquid/info/methods/user_fills.py
async def user_fills(
  self, user: str, *, aggregate_by_time: bool | None = None
) -> UserFillsResponse:
  """Return a user's most recent fills.

  Args:
    user: Account address.
    aggregate_by_time: Aggregate partial fills in the same block.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills)
  """
  params: dict[str, object] = {'type': 'userFills', 'user': user}
  if aggregate_by_time is not None:
    params['aggregateByTime'] = aggregate_by_time
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

user_fills_by_time

Return a user's fills within a time range.

Parameters:

Name Type Description Default
user str

Account address.

required
start_time int

Start time in milliseconds, inclusive.

required
end_time int | None

End time in milliseconds, inclusive.

None
aggregate_by_time bool | None

Aggregate partial fills in the same block.

None
References
Source code in pkg/src/hyperliquid/info/methods/user_fills_by_time.py
async def user_fills_by_time(
  self, user: str, start_time: int, *, end_time: int | None = None,
  aggregate_by_time: bool | None = None
) -> list[UserFill]:
  """Return a user's fills within a time range.

  Args:
    user: Account address.
    start_time: Start time in milliseconds, inclusive.
    end_time: End time in milliseconds, inclusive.
    aggregate_by_time: Aggregate partial fills in the same block.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills-by-time)
  """
  params: dict[str, object] = {
    'type': 'userFillsByTime',
    'user': user,
    'startTime': start_time,
  }
  if end_time is not None:
    params['endTime'] = end_time
  if aggregate_by_time is not None:
    params['aggregateByTime'] = aggregate_by_time
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

user_fills_by_time_paged

Return a user's fills within a time range, automatically paginating the results.

A single call to user_fills_by_time returns at most 2000 fills, so prefer this whenever the requested range may hold more.

Many fills share a millisecond, so pages are advanced to the last timestamp seen rather than past it, and the re-fetched entries are dropped by position. tid is not used as a key: every Spot Dust Conversion fill carries the sentinel tid: 0.

Parameters:

Name Type Description Default
user str

Account address.

required
start_time int

Start time in milliseconds, inclusive.

required
end_time int | None

End time in milliseconds, inclusive.

None
aggregate_by_time bool | None

Aggregate partial fills in the same block.

None

Raises:

Type Description
PaginationError

The range cannot be walked without losing fills.

References
Source code in pkg/src/hyperliquid/info/methods/user_fills_by_time.py
async def user_fills_by_time_paged(
  self, user: str, start_time: int, *, end_time: int | None = None,
  aggregate_by_time: bool | None = None
) -> AsyncIterable[list[UserFill]]:
  """Return a user's fills within a time range, automatically paginating the results.

  A single call to `user_fills_by_time` returns at most 2000 fills, so prefer this
  whenever the requested range may hold more.

  Many fills share a millisecond, so pages are advanced to the last timestamp seen
  rather than past it, and the re-fetched entries are dropped by position. `tid` is
  not used as a key: every `Spot Dust Conversion` fill carries the sentinel `tid: 0`.

  Args:
    user: Account address.
    start_time: Start time in milliseconds, inclusive.
    end_time: End time in milliseconds, inclusive.
    aggregate_by_time: Aggregate partial fills in the same block.

  Raises:
    PaginationError: The range cannot be walked without losing fills.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills-by-time)
  """
  async def fetch(cursor: int) -> list[UserFill]:
    """Fetch one page of fills starting at `cursor`."""
    return await self.user_fills_by_time(
      user, cursor, end_time=end_time, aggregate_by_time=aggregate_by_time,
    )
  async for page in paginate(
    fetch, start_time=start_time, end_time=end_time, page_size=PAGE_SIZE,
  ):
    yield page

user_funding

Return a user's funding history.

Parameters:

Name Type Description Default
user str

Account address.

required
start_time int

Start time in milliseconds, inclusive.

required
end_time int | None

End time in milliseconds, inclusive.

None
References
Source code in pkg/src/hyperliquid/info/perps/user_funding.py
async def user_funding(
  self, user: str, start_time: int, *, end_time: int | None = None
) -> list[UserFundingEntry]:
  """Return a user's funding history.

  Args:
    user: Account address.
    start_time: Start time in milliseconds, inclusive.
    end_time: End time in milliseconds, inclusive.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-a-users-funding-history-or-non-funding-ledger-updates)
  """
  params: dict[str, object] = {
    'type': 'userFunding',
    'user': user,
    'startTime': start_time,
  }
  if end_time is not None:
    params['endTime'] = end_time
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

user_funding_paged

Return a user's funding history, automatically paginating the results.

A single call to user_funding returns at most 500 entries, so prefer this whenever the requested range may hold more.

Every open position is funded on the same millisecond, so pages are advanced to the last timestamp seen rather than past it, and the re-fetched entries are dropped by position. Funding entries carry no unique id, so no key-based deduplication is possible.

Parameters:

Name Type Description Default
user str

Account address.

required
start_time int

Start time in milliseconds, inclusive.

required
end_time int | None

End time in milliseconds, inclusive.

None

Raises:

Type Description
PaginationError

The range cannot be walked without losing entries. Notably, an account holding 500 or more funded positions cannot be swept at all, since one funding millisecond then fills a whole page.

References
Source code in pkg/src/hyperliquid/info/perps/user_funding.py
async def user_funding_paged(
  self, user: str, start_time: int, *, end_time: int | None = None
) -> AsyncIterable[list[UserFundingEntry]]:
  """Return a user's funding history, automatically paginating the results.

  A single call to `user_funding` returns at most 500 entries, so prefer this
  whenever the requested range may hold more.

  Every open position is funded on the same millisecond, so pages are advanced to
  the last timestamp seen rather than past it, and the re-fetched entries are
  dropped by position. Funding entries carry no unique id, so no key-based
  deduplication is possible.

  Args:
    user: Account address.
    start_time: Start time in milliseconds, inclusive.
    end_time: End time in milliseconds, inclusive.

  Raises:
    PaginationError: The range cannot be walked without losing entries. Notably,
      an account holding 500 or more funded positions cannot be swept at all,
      since one funding millisecond then fills a whole page.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-a-users-funding-history-or-non-funding-ledger-updates)
  """
  async def fetch(cursor: int) -> list[UserFundingEntry]:
    """Fetch one page of funding entries starting at `cursor`."""
    return await self.user_funding(user, cursor, end_time=end_time)
  async for page in paginate(
    fetch, start_time=start_time, end_time=end_time, page_size=PAGE_SIZE,
  ):
    yield page

user_historical_orders

Return a user's historical orders.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/user_historical_orders.py
async def user_historical_orders(
  self, user: str
) -> UserHistoricalOrdersResponse:
  """Return a user's historical orders.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-historical-orders)
  """
  r = await self.request({'type': 'historicalOrders', 'user': user})
  return adapter.validate_python(r) if self.validate else r

user_non_funding_ledger_updates

Return a user's non-funding ledger updates.

Parameters:

Name Type Description Default
user str

Account address.

required
start_time int

Start time in milliseconds, inclusive.

required
end_time int | None

End time in milliseconds, inclusive.

None
References
Source code in pkg/src/hyperliquid/info/perps/user_non_funding_ledger_updates.py
async def user_non_funding_ledger_updates(
  self, user: str, start_time: int, *, end_time: int | None = None
) -> UserNonFundingLedgerUpdatesResponse:
  """Return a user's non-funding ledger updates.

  Args:
    user: Account address.
    start_time: Start time in milliseconds, inclusive.
    end_time: End time in milliseconds, inclusive.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-a-users-funding-history-or-non-funding-ledger-updates)
  """
  params: dict[str, object] = {
    'type': 'userNonFundingLedgerUpdates',
    'user': user,
    'startTime': start_time,
  }
  if end_time is not None:
    params['endTime'] = end_time
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r

user_portfolio

Return a user's portfolio.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/user_portfolio.py
async def user_portfolio(self, user: str) -> UserPortfolioResponse:
  """Return a user's portfolio.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-portfolio)
  """
  r = await self.request({'type': 'portfolio', 'user': user})
  return adapter.validate_python(r) if self.validate else r

user_rate_limit

Return rate limit info for a user.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/user_rate_limit.py
async def user_rate_limit(self, user: str) -> UserRateLimitResponse:
  """Return rate limit info for a user.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-user-rate-limits)
  """
  r = await self.request({'type': 'userRateLimit', 'user': user})
  return adapter.validate_python(r) if self.validate else r

user_referral

Return a user's referral information.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/user_referral.py
async def user_referral(self, user: str) -> UserReferralResponse:
  """Return a user's referral information.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-referral-information)
  """
  r = await self.request({'type': 'referral', 'user': user})
  return adapter.validate_python(r) if self.validate else r

user_role

Return a user's role.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/user_role.py
async def user_role(self, user: str) -> UserRoleResponse:
  """Return a user's role.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-role)
  """
  r = await self.request({'type': 'userRole', 'user': user})
  return adapter.validate_python(r) if self.validate else r

user_twap_slice_fills

Return a user's TWAP slice fills.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/user_twap_slice_fills.py
async def user_twap_slice_fills(
  self, user: str
) -> UserTwapSliceFillsResponse:
  """Return a user's TWAP slice fills.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-twap-slice-fills)
  """
  r = await self.request({'type': 'userTwapSliceFills', 'user': user})
  return adapter.validate_python(r) if self.validate else r

user_vault_equities

Return a user's vault equities.

Parameters:

Name Type Description Default
user str

Account address.

required
References
Source code in pkg/src/hyperliquid/info/methods/user_vault_equities.py
async def user_vault_equities(
  self, user: str
) -> UserVaultEquitiesResponse:
  """Return a user's vault equities.

  Args:
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-vault-deposits)
  """
  r = await self.request({'type': 'userVaultEquities', 'user': user})
  return adapter.validate_python(r) if self.validate else r

vault_details

Return details for a vault.

Parameters:

Name Type Description Default
vault_address str

Vault address.

required
user str | None

Account address.

None
References
Source code in pkg/src/hyperliquid/info/methods/vault_details.py
async def vault_details(
  self, vault_address: str, *, user: str | None = None
) -> VaultDetailsResponse | None:
  """Return details for a vault.

  Args:
    vault_address: Vault address.
    user: Account address.

  References:
    - [Hyperliquid API docs](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-details-for-a-vault)
  """
  params: dict[str, object] = {
    'type': 'vaultDetails',
    'vaultAddress': vault_address,
  }
  if user is not None:
    params['user'] = user
  r = await self.request(params)
  return adapter.validate_python(r) if self.validate else r