Skip to content

Asset Resolver

Every identity a symbol maps to — perp, spot, HIP-3, HIP-4 — with asset IDs, token and pair indexes, decimals and copyable snippets, side by side across networks.

Last verified against protocol docs: 2026-09-28
Source: Asset IDs
rules: asset-ids@1.1.0 · precision@1.1.0
Try on mainnet:
You typedsymbolCoin stringA plain symbol can be a perp coin, a spot base token, a token name or a HIP-3 market base. Every identity it names is listed. How names fit together

How Hyperliquid names things

Every tradeable thing has several spellings, and each spelling is accepted in exactly one place. The prefixes are the coin-string column: @ spot pair by index, # outcome coin, + outcome token, dex: HIP-3 perp. A bare number is an asset ID, but the same number also exists as a spot pair index, a token index and an outcome ID — four separate index spaces.

  • Coin string

    The name info requests and WebSocket subscriptions take. Each prefix is a different venue.

    BTCxyz:TSLA@107PURR/USDC#83061
    infoWebSocket

    Perp: its name. HIP-3 perp: dex:name. Spot: @<spot pair index>, or BASE/QUOTE for canonical pairs only. Outcome: #<encoding>.

  • Action asset ID

    The integer in the a field of order and cancel actions, and the asset field of CoreWriter actions.

    011000110107100083061
    exchange aCoreWriter

    Perp: index in meta.universe. HIP-3: 100000 + dex × 10000 + index. Spot: 10000 + spot pair index. Outcome: 100000000 + encoding.

  • Display symbol

    What the app shows. The API never accepts it, which is why UBTC/USDC fails as a coin.

    BTC-PERPHYPE/USDCUBTC/USDC
    app only

    Perp name + -PERP; spot base/quote token names; outcome name · side.

  • Token

    A balance, not a market. It has a name, an index (a third index space, separate from spot and perp indexes), a 16-byte ID and, when linked, an EVM contract.

    HYPE1500x0d01dc56dcaaca66ad901c959b4011ecHYPE:0x0d01…+83061
    spotClearinghouseStatespotSend / sendAssetCoreWriterHyperEVM

    spotMeta.tokens[].index and tokenId. Transfers take name:tokenId. Outcome tokens are +<encoding>.

  • Outcome encoding

    HIP-4 outcomes have two sides (Yes = 0, No = 1). One number encodes both and sits inside the coin, the token and the asset ID.

    83061 = outcome 8306, side 1 (No)
    infoexchange aspotClearinghouseState

    encoding = 10 × outcome + side. Coin #<encoding>, token +<encoding>, asset ID 100000000 + encoding.