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

# spotMeta | Hyperliquid info

> The info endpoint with type: "spotMeta" retrieves spot metadata including tokens and universe for the Hyperliquid exchange. On Hyperliquid info.

<Info>
  This method is available on Chainstack. Not all Hyperliquid methods are available on Chainstack, as the open-source node implementation does not support them yet — see [Hyperliquid methods](/docs/hyperliquid-methods) for the full availability breakdown.
</Info>

The `info` endpoint with `type: "spotMeta"` retrieves spot metadata including tokens and universe for the Hyperliquid exchange. This endpoint provides essential information about available spot tokens, their specifications, and trading pairs.

## Parameters

### Request body

* `type` (string, required) — The request type. Must be `"spotMeta"` to retrieve spot metadata.

## Response

The response contains two main sections:

### Tokens

An array of spot tokens with their metadata:

* `name` (string) — The token name (e.g., "USDC", "PURR").
* `szDecimals` (integer) — Number of decimal places for size precision.
* `weiDecimals` (integer) — Number of decimal places for wei representation.
* `index` (integer) — Unique token index identifier.
* `tokenId` (string) — Unique token identifier in hexadecimal format.
* `isCanonical` (boolean) — Whether the token is canonical on the platform.
* `evmContract` (object, nullable) — EVM contract data if applicable: `address` (string), `evm_extra_wei_decimals` (integer).
* `fullName` (string, nullable) — Full descriptive name of the token.
* `deployerTradingFeeShare` (string, optional) — Deployer trading fee share for this token.

### Universe

An array of spot trading pairs:

* `name` (string) — Trading pair name (e.g., "PURR/USDC", "@1").
* `tokens` (array) — Array of token indices that make up the trading pair.
* `index` (integer) — Unique pair index identifier.
* `isCanonical` (boolean) — Whether the trading pair is canonical.

## Example request

<CodeGroup>
  ```shell Shell theme={"system"}
  curl -X POST \
    -H "Content-Type: application/json" \
    -d '{"type": "spotMeta"}' \
    https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info
  ```

  ```python Python (hyperliquid-python-sdk) theme={"system"}
  from hyperliquid.info import Info

  info = Info("YOUR_CHAINSTACK_ENDPOINT", skip_ws=True)

  spot_meta = info.spot_meta()
  print(spot_meta)
  ```

  ```typescript TypeScript (@nktkas/hyperliquid) theme={"system"}
  import { HttpTransport, InfoClient } from "@nktkas/hyperliquid";

  const transport = new HttpTransport({ apiUrl: "YOUR_CHAINSTACK_ENDPOINT" });
  const info = new InfoClient({ transport });

  const spotMeta = await info.spotMeta();
  console.log(spotMeta);
  ```
</CodeGroup>

<Note>
  **Use your own endpoint in your code.** The code examples use a placeholder Chainstack endpoint (YOUR\_CHAINSTACK\_ENDPOINT) — replace it with your own Hyperliquid node endpoint from the [Chainstack console](https://console.chainstack.com/). The curl above uses a shared public endpoint for quick checks only; do not use it in production.
</Note>

## Use case

The `info` endpoint with `type: "spotMeta"` is essential for spot trading applications that need to:

* Display available spot tokens and their specifications
* Validate trading pair configurations
* Map token indices to human-readable names
* Understand decimal precision for accurate calculations
* Identify canonical vs non-canonical tokens and pairs
* Build trading interfaces with proper token and pair data

This metadata is typically cached and used throughout the application to ensure accurate token handling and trading pair validation for spot trading on Hyperliquid.


## OpenAPI

````yaml openapi/hyperliquid_node_api/hypercore_info/info_spotmeta.json post /4f8d8f4040bdacd1577bff8058438274/info
openapi: 3.0.0
info:
  title: Hyperliquid Node API
  version: 1.0.0
  description: This is an API for interacting with Chainstack Hyperliquid node.
servers:
  - url: https://hyperliquid-mainnet.core.chainstack.com
security: []
paths:
  /4f8d8f4040bdacd1577bff8058438274/info:
    post:
      tags:
        - hyperliquid operations
      summary: info (spotMeta)
      operationId: infoSpotMeta
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  default: spotMeta
                  enum:
                    - spotMeta
              required:
                - type
      responses:
        '200':
          description: Spot metadata including tokens and universe
          content:
            application/json:
              schema:
                type: object
                properties:
                  tokens:
                    type: array
                    description: Array of spot tokens with their metadata
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Token name
                        szDecimals:
                          type: integer
                          description: Number of decimal places for size
                        weiDecimals:
                          type: integer
                          description: Number of decimal places for wei representation
                        index:
                          type: integer
                          description: Token index
                        tokenId:
                          type: string
                          description: Unique token identifier
                        isCanonical:
                          type: boolean
                          description: Whether the token is canonical
                        evmContract:
                          type: object
                          nullable: true
                          description: EVM contract metadata if token has an L1 contract
                          properties:
                            address:
                              type: string
                              description: Contract address
                            evm_extra_wei_decimals:
                              type: integer
                              description: Extra wei decimals adjustment; may be negative
                        fullName:
                          type: string
                          nullable: true
                          description: Full descriptive token name
                        deployerTradingFeeShare:
                          type: string
                          description: Deployer trading fee share
                  universe:
                    type: array
                    description: Array of spot trading pairs
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Trading pair name
                        tokens:
                          type: array
                          description: Array of token indices for the pair
                          items:
                            type: integer
                        index:
                          type: integer
                          description: Pair index
                        isCanonical:
                          type: boolean
                          description: Whether the pair is canonical

````