> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uniblock.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Info API Overview

> A drop-in replacement for Hyperliquid's public /info REST API — same request and response shapes, no per-IP request-weight cap, automatic provider failover.

The Uniblock **Hyperliquid Info API** forwards a native Hyperliquid [`/info`](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint) request — selected by its `type` field — through Uniblock's unified request lifecycle and returns the upstream response verbatim. It's a drop-in replacement for the public `/info` endpoint: the request and response shapes are identical, but requests flow through the provider waterfall, so you get automatic failover, unified billing, and observability with **no per-IP request-weight cap** (plan-level rate limits still apply).

<Info>
  Create your project and grab your API key from the
  [Uniblock dashboard](https://dashboard.uniblock.dev).
</Info>

## Endpoint

| Method | Path                       | Description                                                                 |
| ------ | -------------------------- | --------------------------------------------------------------------------- |
| `POST` | `/uni/v1/hyperliquid/info` | Forward a native Hyperliquid `/info` request and return the upstream reply. |

### Query parameters

* `chainId`: `999` for Hyperliquid mainnet (default) or `998` for Hyperliquid testnet.
* `provider`: optionally pin a specific provider; otherwise Uniblock routes through the waterfall.

## How it works

Every request body must include a `type` discriminator that mirrors Hyperliquid's own `/info` contract (for example `clearinghouseState`, `l2Book`, `metaAndAssetCtxs`). The `type` selects the operation, and any operation-specific fields are forwarded verbatim. A request without a supported `type` fails fast with a `400` at the HTTP boundary rather than reaching a provider.

### Synthetic Uniblock types

Beyond the native Hyperliquid operations, Uniblock defines synthetic `type`s composed on Uniblock's side and dispatched through this same route:

| Type                       | Description                                                                                                                           |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `portfolioState`           | Normalized Hyperliquid Portfolio State — a stable account-state view composed across perpetuals, spot balances, and user abstraction. |
| `batchClearinghouseStates` | Perpetual clearinghouse state for a list of users in a single request (one Info sub-request per user).                                |
| `batchPortfolioStates`     | Full Portfolio State for a list of users in a single request.                                                                         |

Batch types carry a `{ "type": ..., "users": string[] }` body and are limited to **50 users** per request.

## Available types

Every Hyperliquid Info `type` supported by at least one unified provider (Alchemy, GoldRush, Dwellir, or Chainstack). Each request body always includes the `type` field; the **Body** column lists the additional fields alongside it.

<Note>
  Legend — `*` marks an optional field, and `—` means no fields beyond `type`.
  Tags: **GoldRush-native** types are served only by GoldRush's verbatim
  passthrough; the **Hydromancer alias** normalizes to a native type before
  routing; **Uniblock synthetic** types are composed by Uniblock and don't map
  to a single upstream call.
</Note>

| Type                          | Body                                                | Returns                                                                                           |
| ----------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `clearinghouseState`          | `user`, `dex`\*                                     | Perp account summary: open positions, margin usage, account value, withdrawable balance.          |
| `activeAssetData`             | `user`, `coin`                                      | The user's leverage, available-to-trade size, and mark price for one asset.                       |
| `spotClearinghouseState`      | `user`                                              | The user's spot token balances.                                                                   |
| `userAbstraction`             | `user`                                              | Account abstraction mode (unifiedAccount, portfolioMargin, dexAbstraction, default, or disabled). |
| `webData2`                    | `user`                                              | Aggregated frontend snapshot for a user (clearinghouse state, open orders, asset contexts, meta). |
| `openOrders`                  | `user`, `dex`\*                                     | The user's active orders (price, size, side, order ID, timestamp).                                |
| `frontendOpenOrders`          | `user`, `dex`\*                                     | Active orders plus frontend metadata (order type, original size, trigger conditions).             |
| `outcomeMeta`                 | `—`                                                 | Metadata for prediction-market outcomes, with side specifications.                                |
| `settledOutcome`              | `outcome`                                           | Settlement and resolution data for one prediction-market outcome.                                 |
| `vaultSummaries`              | `—`                                                 | Summary list of all vaults (name, address, leader, TVL, status, creation time).                   |
| `userVaultEquities`           | `user`                                              | The user's vault deposits as vault-address / equity pairs.                                        |
| `leadingVaults`               | `user`                                              | Vaults the user leads (address, name, TVL, share price, PnL over 1D/7D/30D/all-time, commission). |
| `userRole`                    | `user`                                              | Account classification (missing, user, agent, vault, or subAccount) with metadata.                |
| `extraAgents`                 | `user`                                              | Approved agent wallets for the account (address, name, valid-until).                              |
| `approvedBuilders`            | `user`                                              | Builder addresses the user has authorized.                                                        |
| `meta`                        | `dex`\*                                             | Perp asset universe and margin / leverage tables.                                                 |
| `spotMeta`                    | `—`                                                 | Spot token metadata and pair universe.                                                            |
| `marginTable`                 | `id`                                                | Leverage / margin tier brackets for a given margin-table id.                                      |
| `perpDexs`                    | `—`                                                 | All perp DEX instances (name, deployer, fee configuration).                                       |
| `allPerpMetas`                | `—`                                                 | Metadata and asset contexts for every perp DEX at once.                                           |
| `perpAnnotation`              | `coin`                                              | Category and description for one perpetual contract.                                              |
| `perpCategories`              | `—`                                                 | Asset-to-category mappings for all perpetuals.                                                    |
| `perpConciseAnnotations`      | `—`                                                 | Concise category and keyword data for perp assets.                                                |
| `perpDexStatus`               | `dex`                                               | Total net deposits across one perp DEX.                                                           |
| `perpDexLimits`               | `dex`                                               | Total open-interest caps and per-asset limits for a builder-deployed market.                      |
| `exchangeStatus`              | `—`                                                 | Exchange status: special-status / maintenance messages and server time.                           |
| `spotDeployState`             | `user`                                              | Spot token deployment auction details and genesis allocations.                                    |
| `perpDeployAuctionStatus`     | `—`                                                 | Perp deployment auction timing and gas parameters.                                                |
| `spotPairDeployAuctionStatus` | `—`                                                 | Dutch-auction status for deploying spot pairs.                                                    |
| `allBorrowLendReserveStates`  | `—`                                                 | Reserve state for every borrow/lend token.                                                        |
| `borrowLendReserveState`      | `token`                                             | Reserve metrics for one token (rates, utilization, oracle price, LTV, supplied/borrowed).         |
| `borrowLendUserState`         | `user`                                              | The user's per-token borrow/lend positions and health.                                            |
| `delegations`                 | `user`                                              | Validator delegations with amounts and lock-up timestamps.                                        |
| `delegatorSummary`            | `user`                                              | Totals for delegated, undelegated, and pending-withdrawal amounts.                                |
| `maxBuilderFee`               | `user`, `builder`                                   | Max fee (tenths of a basis point) the user approved for a builder.                                |
| `validatorL1Votes`            | `—`                                                 | Active L1 governance actions and the addresses that voted.                                        |
| `userFees`                    | `user`                                              | Volume history, fee schedule, the user's current rates, and discounts.                            |
| `maxMarketOrderNtls`          | `—`                                                 | Max market-order notional per leverage level.                                                     |
| `perpsAtOpenInterestCap`      | `dex`\*                                             | Assets currently at their open-interest cap.                                                      |
| `liquidatable`                | `user`                                              | Whether the user's positions are currently at risk of liquidation.                                |
| `userFills`                   | `user`, `aggregateByTime`\*                         | Up to 2000 most recent fills (price, size, PnL, fee).                                             |
| `userFillsByTime`             | `user`, `startTime`, `endTime`*, `aggregateByTime`* | Fills within a time range (10,000 most recent available).                                         |
| `userTwapSliceFills`          | `user`                                              | Up to 2000 most recent TWAP slice fills with TWAP execution IDs.                                  |
| `userTwapSliceFillsByTime`    | `user`, `startTime`, `endTime`\*                    | TWAP slice fills within a time range. *(GoldRush-native.)*                                        |
| `builderFills`                | `user`                                              | Fills attributed to a builder address, with builder-fee data.                                     |
| `builderFillsByTime`          | `user`, `startTime`, `endTime`\*                    | Builder-attributed fills within a time range. *(GoldRush-native.)*                                |
| `userFunding`                 | `user`, `startTime`, `endTime`\*                    | Funding payments on positions within a time range.                                                |
| `fundingHistory`              | `coin`, `startTime`, `endTime`\*                    | Historical funding rates and premiums for one asset.                                              |
| `userNonFundingLedgerUpdates` | `user`, `startTime`, `endTime`\*                    | Deposits, transfers, and withdrawals affecting the account.                                       |
| `delegatorHistory`            | `user`                                              | Delegation / undelegation transaction history.                                                    |
| `delegatorRewards`            | `user`                                              | Staking rewards history (time, source, amount).                                                   |
| `subAccounts`                 | `user`                                              | Sub-accounts with name, address, margin summary, and spot balances.                               |
| `candleSnapshot`              | `req` `{ coin, interval, startTime, endTime }`      | OHLCV candles (5000 most recent).                                                                 |
| `l2Book`                      | `coin`, `nSigFigs`*, `mantissa`*                    | Order book, up to 20 levels per side (`px`, `sz`, `n`).                                           |
| `allMids`                     | `dex`\*                                             | Mid prices for all perp and spot coins.                                                           |
| `historicalOrders`            | `user`                                              | Up to 2000 most recent historical orders with final status.                                       |
| `userDexAbstraction`          | `user`                                              | Whether HIP-3 DEX abstraction is enabled for the user.                                            |
| `orderStatus`                 | `user`, `oid`                                       | Status and details for one order (`oid` as a uint64 or hex cloid).                                |
| `orderStatusByOid`            | `user`, `oid`                                       | Alias for `orderStatus`, normalized before routing. *(Hydromancer alias.)*                        |
| `portfolioState`              | `user`                                              | Normalized Portfolio State across perps, spot, and user abstraction. *(Uniblock synthetic.)*      |
| `batchClearinghouseStates`    | `users[]` (≤ 50)                                    | `clearinghouseState` for each user in one request. *(Uniblock synthetic.)*                        |
| `batchPortfolioStates`        | `users[]` (≤ 50)                                    | Portfolio State for each user in one request. *(Uniblock synthetic.)*                             |

## Providers

The following providers serve the Hyperliquid Info API, in priority order:

* Alchemy
* Dwellir
* Chainstack
* GoldRush (Covalent)

Provider support is per-`type`: raw HyperCore-node passthroughs (Dwellir, Chainstack) forward every native node operation, while some aggregations are served only by specific providers. Uniblock routes each request to a provider that serves the requested `type`.

## Basic request

<CodeGroup>
  ```bash cURL theme={null}
  curl --location \
    'https://api.uniblock.dev/uni/v1/hyperliquid/info?chainId=999' \
    --header 'x-api-key: YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
      "type": "clearinghouseState",
      "user": "0x0000000000000000000000000000000000000000"
    }'
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch(
    "https://api.uniblock.dev/uni/v1/hyperliquid/info?chainId=999",
    {
      method: "POST",
      headers: {
        "x-api-key": "YOUR_API_KEY",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        type: "clearinghouseState",
        user: "0x0000000000000000000000000000000000000000",
      }),
    },
  );
  console.log(await res.json());
  ```
</CodeGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Migration guide" icon="arrow-right-arrow-left" href="/guides/hyperliquid/info-api/migration">
    Move from the public `/info` API by changing one URL and adding your key.
  </Card>

  <Card title="Rate limits & caching" icon="gauge-high" href="/guides/hyperliquid/info-api/limits">
    How Uniblock removes the public request-weight cap and how to poll efficiently.
  </Card>

  <Card title="SDK compatibility" icon="cubes" href="/guides/hyperliquid/info-api/sdk-compatibility">
    Reuse existing Hyperliquid SDKs by overriding the base URL and auth header.
  </Card>

  <Card title="Full endpoint reference" icon="book" href="/reference/unified-api/overview-hyperliquid-info">
    The complete Hyperliquid Info endpoint reference in the Unified API section.
  </Card>
</CardGroup>
