Страница переведена сообществом и носит справочный характер; актуальна английская версия.
Оригинал ↗

Спот

Этот раздел описывает информационные конечные точки API, относящиеся к споту.

Получить метаданные спота

POST https://api.hyperliquid.xyz/info

Заголовки

Имя Значение
Content-Type* "application/json"

Тело запроса

Имя Тип Описание
type* String "spotMeta"

Ответ

{% tabs %}

{
    "tokens": [
        {
            "name": "USDC",
            "szDecimals": 8,
            "weiDecimals" 8,
            "index": 0,
            "tokenId": "0x6d1e7cde53ba9467b783cb7c530ce054",
            "isCanonical": true,
            "evmContract":null,
            "fullName":null
        },
        {
            "name": "PURR",
            "szDecimals": 0,
            "weiDecimals": 5,
            "index": 1,
            "tokenId": "0xc1fb593aeffbeb02f85e0308e9956a90",
            "isCanonical": true,
            "evmContract":null,
            "fullName":null
        },
        {
            "name": "HFUN",
            "szDecimals": 2,
            "weiDecimals": 8,
            "index": 2,
            "tokenId": "0xbaf265ef389da684513d98d68edf4eae",
            "isCanonical": false,
            "evmContract":null,
            "fullName":null
        },
    ],
    "universe": [
        {
            "name": "PURR/USDC",
            "tokens": [1, 0],
            "index": 0,
            "isCanonical": true
        },
        {
            "tokens": [2, 0],
            "name": "@1",
            "index": 1,
            "isCanonical": false
        },
    ]
}

{% endtab %}

Получить контексты спот-активов

POST https://api.hyperliquid.xyz/info

Заголовки

Имя Тип Описание
Content-Type* String "application/json"

Тело запроса

Имя Тип Описание
type* String "spotMetaAndAssetCtxs"

{% tabs %}

[
{
    "tokens": [
        {
            "name": "USDC",
            "szDecimals": 8,
            "weiDecimals" 8,
            "index": 0,
            "tokenId": "0x6d1e7cde53ba9467b783cb7c530ce054",
            "isCanonical": true,
            "evmContract":null,
            "fullName":null
        },
        {
            "name": "PURR",
            "szDecimals": 0,
            "weiDecimals": 5,
            "index": 1,
            "tokenId": "0xc1fb593aeffbeb02f85e0308e9956a90",
            "isCanonical": true,
            "evmContract":null,
            "fullName":null
        }
    ],
    "universe": [
        {
            "name": "PURR/USDC",
            "tokens": [1, 0],
            "index": 0,
            "isCanonical": true
        }
    ]
},
[
    {
        "dayNtlVlm":"8906.0",
        "markPx":"0.14",
        "midPx":"0.209265",
        "prevDayPx":"0.20432"
    }
]
]

{% endtab %}

Получить балансы токенов пользователя

POST https://api.hyperliquid.xyz/info

Просмотр балансов токенов пользователя.

В едином аккаунте или при портфельной марже это источник истины для баланса торгового счёта по споту и перпам.

Заголовки

Имя Тип Описание
Content-Type* "application/json"

Тело запроса

Имя Тип Описание
type* String "spotClearinghouseState"
user* String Адрес в блокчейне в 42-символьном шестнадцатеричном формате; напр. 0x0000000000000000000000000000000000000000.

{% tabs %}

{
    "balances": [
        {
            "coin": "USDC",
            "token": 0,
            "hold": "0.0",
            "total": "14.625485",
            "entryNtl": "0.0"
        },
        {
            "coin": "PURR",
            "token": 1,
            "hold": "0.0",
            "total": "2000.0",
            "entryNtl": "1234.56"
        },
        {
            "coin": "+1230",
            "hold": "0.0",
            "total": "25.0",
            "entryNtl": "12.5"
        }
    ]
}

{% endtab %}

Получить информацию об аукционе развёртывания спота

POST https://api.hyperliquid.xyz/info

Заголовки

Имя Значение
Content-Type* "application/json"

Тело запроса

Имя Тип Описание
type* String "spotDeployState"
user* String Адрес в блокчейне в 42-символьном шестнадцатеричном формате; напр. 0x0000000000000000000000000000000000000000.

Ответ

{% tabs %}

{
  "states": [
    {
      "token": 150,
      "spec" : {
        "name": "HYPE",
        "szDecimals": 2,
        "weiDecimals": 8,
      },
      "fullName": "Hyperliquid",
      "spots": [107],
      "maxSupply": 1000000000,
      "hyperliquidityGenesisBalance": "120000",
      "totalGenesisBalanceWei": "100000000000000000",
      "userGenesisBalances": [
        ("0xdddddddddddddddddddddddddddddddddddddddd", "428,062,211")...
      ],
      "existingTokenGenesisBalances": [
        (1, "0")...
      ]
    }
  ],
  "gasAuction": {
    "startTimeSeconds": 1733929200,
    "durationSeconds": 111600,
    "startGas": "181305.90046",
    "currentGas": null,
    "endGas": "181291.247358"
  }
}

{% endtab %}

Получить информацию об аукционе развёртывания спот-пар

POST https://api.hyperliquid.xyz/info

Примечание: возвращает статус голландского аукциона развёртываний спот-пар между существующими базовыми и котируемыми токенами. Участие в этом аукционе бессанкционно (без разрешений) и осуществляется тем же действием, что и фаза registerSpot развёртывания базового токена.

Заголовки

Имя Значение
Content-Type* "application/json"

Тело запроса

Имя Тип Описание
type* String "spotPairDeployAuctionStatus"

{% tabs %}

{
  "startTimeSeconds":1755468000,
  "durationSeconds":111600,
  "startGas":"500.0",
  "currentGas":"500.0",
  "endGas":null
}

{% endtab %}

Получить информацию о токене

POST https://api.hyperliquid.xyz/info

Заголовки

Имя Значение
Content-Type* "application/json"

Тело запроса

Имя Тип Описание
type* String "tokenDetails"
tokenId* String Идентификатор в блокчейне в 34-символьном шестнадцатеричном формате; напр. 0x00000000000000000000000000000000.

Ответ

{% tabs %}

{
  "name": "TEST",
  "maxSupply": "1852229076.12716007",
  "totalSupply": "851681534.05516005",
  "circulatingSupply": "851681534.05516005",
  "szDecimals": 0,
  "weiDecimals": 5,
  "midPx": "3.2049",
  "markPx": "3.2025",
  "prevDayPx": "3.2025",
  "genesis": {
    "userBalances": [
      [
        "0x0000000000000000000000000000000000000001",
        "1000000000.0"
      ],
      [
        "0xffffffffffffffffffffffffffffffffffffffff",
        "1000000000.0"
      ]
    ],
    "existingTokenBalances": []
  },
  "deployer": "0x0000000000000000000000000000000000000001",
  "deployGas": "100.0",
  "deployTime": "2024-06-05T10:50:59.434",
  "seededUsdc": "0.0",
  "nonCirculatingUserBalances": [],
  "futureEmissions": "0.0"
}

{% endtab %}

Получить метаданные исходов

POST https://api.hyperliquid.xyz/info

Формат, который API использует для ссылок на исходы, см. в разделе Asset IDs. Исходы и вопросы, развёрнутые из шаблона, имеют name template:<id>, где <id> — это id шаблона из ответа outcomeTemplates. Формат их описания см. в документации по развёртыванию HIP-4.

Повторяющиеся автономные исходы и вопросы называются Recurring, а их description — это разделённые | пары key:value, начинающиеся с class. expiry — время в формате UTC YYYYMMDD-HHMM, а underlying — название монеты перпа. Описания могут содержать другие ключи, которые можно игнорировать.

  • class:priceBinary — автономный исход, напр. class:priceBinary|underlying:BTC|expiry:20260526-0600|targetPrice:77363|period:1d. Он рассчитывается как Yes, если цена маркировки underlying в момент expiry выше targetPrice.
  • class:priceBucket — вопрос, напр. class:priceBucket|underlying:BTC|expiry:20260615-0600|priceThresholds:63250,65831|period:1d, где priceThresholds — это <lower>,<upper>. На основе цены маркировки underlying в момент expiry:
  • Исход с описанием index:0 рассчитывается как Yes, если цена ниже lower.
  • Исход с описанием index:1 рассчитывается как Yes, если цена не ниже lower и ниже upper.
  • Исход с описанием index:2 рассчитывается как Yes, если цена не ниже upper.

Заголовки

Имя Значение
Content-Type* "application/json"

Тело запроса

Имя Тип Описание
type* String "outcomeMeta"

Ответ

{% tabs %}

{
  "outcomes": [
    {
      "outcome": 123,
      "name": "Recurring",
      "description": "class:priceBinary|underlying:HYPE|expiry:20260310-1100|targetPrice:34.5|period:3m",
      "sideSpecs": [
        {
          "name": "Yes"
        },
        {
          "name": "No"
        }
      ]
    }
  ]
}

{% endtab %}

Получить шаблоны исходов

POST https://api.hyperliquid.xyz/info

Заголовки

Имя Значение
Content-Type* "application/json"

Тело запроса

Имя Тип Описание
type* String "outcomeTemplates"

Возвращает все шаблоны исходов. role — одно из значений {"standaloneOutcome": {"sideNames": [...]}}, "question" или {"questionOutcome": {"parent": <question template id>}}. name и description содержат плейсхолдеры {keyword}, а keywords перечисляет каждое ключевое слово с его типом в виде пар [keyword, type]. Формат значений каждого типа см. в документации по развёртыванию HIP-4.

Ответ

{% tabs %}

[
  {
    "id": "binaryPrice",
    "role": { "standaloneOutcome": { "sideNames": ["Yes", "No"] } },
    "name": "{perp} above {threshold} at {time}?",
    "description": "The market resolves to Yes if the {perp} price is above {threshold} at {time}, and otherwise resolves to No. Settlement is according to the {seconds}-second TWAP of {priceDescription} price ending at {time}. If {perp} is delisted before this market settles, settlement is instead according to the {perp} settlement price at delisting. metadata=category:price|subCategory:N/A|semanticRestriction:This market must refer to the price of a Hyperliquid perp.",
    "keywords": [["perp", "hlPerp"], ["priceDescription", "string"], ["seconds", "uInt"], ["threshold", "uDecimal"], ["time", "dateTime"]]
  },
  {
    "id": "policyRateDecision",
    "role": "question",
    "name": "{institution} {decisionLabel} rate decision",
    "description": "This market has three possible results: No change, Decrease, or Increase. Exactly one corresponding named outcome resolves to Yes; the other two and the protocol-created fallback resolve to No. It covers the {decisionLabel} {institution} decision concerning {policyMeasure}, scheduled for {scheduledDecision} UTC (the \"Decision\"). The Decision Value is the numeric value of {policyMeasure} announced by {officialSource}. The Prior Value is the value of that same measure in effect immediately before the Decision. No change resolves to Yes if the Decision Value equals the Prior Value. Decrease resolves to Yes if the Decision Value is lower. Increase resolves to Yes if the Decision Value is higher. If the Decision is rescheduled, the rescheduled decision applies if {officialSource} publishes it by {decisionDeadline} UTC. If the Decision is canceled or postponed without a replacement decision, or no official Decision Value is published by {decisionDeadline} UTC, No change resolves to Yes. Policy changes outside the scheduled Decision are ignored except when establishing the Prior Value. If {institution} replaces {policyMeasure}, the closest official successor measure identified by {officialSource} is used. Resolution uses the initially published decision; later revisions do not change the resolution. {officialSource} is the primary resolution source; independent reputable reporting may be used if it has not published the relevant decision. No change resolves to Yes under the deadline rule above only if neither {officialSource} nor independent reputable reporting establishes a Decision Value by {decisionDeadline} UTC. metadata=category:economics|subCategory:N/A|semanticRestriction:This market must refer to a scheduled policy rate decision by an official institution.",
    "keywords": [["decisionDeadline", "dateTime"], ["decisionLabel", "string"], ["institution", "string"], ["officialSource", "string"], ["policyMeasure", "string"], ["scheduledDecision", "dateTime"]]
  },
  {
    "id": "policyRateDecrease",
    "role": { "questionOutcome": { "parent": "policyRateDecision" } },
    "name": "Decrease",
    "description": "This outcome resolves to Yes if the Decision Value is lower than the Prior Value under the parent question's rules.",
    "keywords": []
  }
]

{% endtab %}

Получить информацию о рассчитанном исходе

POST https://api.hyperliquid.xyz/info

Заголовки

Имя Значение
Content-Type* "application/json"

Тело запроса

Имя Тип Описание
type* String "settledOutcome"
outcome* int исход

Ответ

{% tabs %}

{
  "spec": {
    "outcome": 95,
    "name": "Recurring",
    "description": "class:priceBinary|underlying:BTC|expiry:20260526-0600|targetPrice:77363|period:1d",
    "sideSpecs": [
      {
        "name": "Yes"
      },
      {
        "name": "No"
      }
    ],
    "quoteToken": "USDC"
  },
  "settleFraction": "0.0",
  "details": "price:76876.9"
}

{% endtab %}

Получить лимиты деплоера исходов

POST https://api.hyperliquid.xyz/info

Заголовки

Имя Значение
Content-Type* "application/json"

Тело запроса

Имя Тип Описание
type* String "outcomeDeployerLimits"
venue* String название площадки

Ответ

{% tabs %}

{
  "nDailyOutcomesRemaining": 50,
  "nActiveOutcomesRemaining": 14
}

{% endtab %}

Официальный источник: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot
Дата снимка: · Дата сборки: · Перевод сообщества; приоритет у английской версии
Неофициальный перевод сообщества. Права на контент принадлежат Hyperliquid; актуальна английская версия. Источник: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot