現貨
本節介紹現貨專屬的 info 端點。
獲取現貨元數據
POST https://api.hyperliquid.xyz/info
Headers
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "spotMeta" |
Response
{% 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
Headers
| Name | Type | Description |
|---|---|---|
| Content-Type* | String | "application/json" |
Request Body
| Name | Type | Description |
|---|---|---|
| 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
查看用戶的代幣餘額。
在統一帳戶或組合保證金模式下,這是跨現貨與永續合約的交易帳戶餘額的唯一可信來源。
Headers
| Name | Type | Description |
|---|---|---|
| Content-Type* | "application/json" |
Request Body
| Name | Type | Description |
|---|---|---|
| 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
Headers
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "spotDeployState" |
| user* | String | 42 字符十六進制格式的鏈上地址;例如 0x0000000000000000000000000000000000000000。 |
Response
{% 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 階段所使用的同一 action,任何人都可以無許可地參與該拍賣。
Headers
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "spotPairDeployAuctionStatus" |
{% tabs %}
{
"startTimeSeconds":1755468000,
"durationSeconds":111600,
"startGas":"500.0",
"currentGas":"500.0",
"endGas":null
}
{% endtab %}
獲取某個代幣的資訊
POST https://api.hyperliquid.xyz/info
Headers
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "tokenDetails" |
| tokenId* | String | 34 字符十六進制格式的鏈上 id;例如 0x00000000000000000000000000000000。 |
Response
{% 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 %}
獲取結果(outcome)元數據
POST https://api.hyperliquid.xyz/info
關於 API 引用結果(outcome)時所使用的格式,請參閱 Asset IDs 部分。由模板部署的結果和問題的 name 爲 template:<id>,其中 <id> 是該模板在 outcomeTemplates 回應中的 id。其描述格式請參閱 HIP-4 部署文件。
周期性獨立結果和問題命名爲 Recurring,其 description 是以 | 分隔、以 class 開頭的 key:value 鍵值對。expiry 是格式爲 YYYYMMDD-HHMM 的 UTC 時間,underlying 是一個永續合約幣名。描述中可能包含其他鍵,可以忽略。
class:priceBinary是獨立結果,例如class:priceBinary|underlying:BTC|expiry:20260526-0600|targetPrice:77363|period:1d。如果expiry時刻underlying的標記價格高於targetPrice,則解析爲 Yes。class:priceBucket是一個問題(question),例如class:priceBucket|underlying:BTC|expiry:20260615-0600|priceThresholds:63250,65831|period:1d,其中priceThresholds爲<lower>,<upper>。根據expiry時刻underlying的標記價格:- 描述爲
index:0的結果在價格低於lower時解析爲 Yes。 - 描述爲
index:1的結果在價格至少爲lower且低於upper時解析爲 Yes。 - 描述爲
index:2的結果在價格至少爲upper時解析爲 Yes。
Headers
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "outcomeMeta" |
Response
{% 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
Headers
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "outcomeTemplates" |
返回所有結果模板。role 是 {"standaloneOutcome": {"sideNames": [...]}}、"question" 或 {"questionOutcome": {"parent": <question template id>}} 三者之一。name 和 description 包含 {keyword} 佔位符,keywords 以 [keyword, type] 對的形式列出每個關鍵字及其類型。每種類型的取值格式請參閱 HIP-4 部署文件。
Response
{% 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
Headers
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "settledOutcome" |
| outcome* | int | outcome |
Response
{% 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
Headers
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "outcomeDeployerLimits" |
| venue* | String | venue 名稱 |
Response
{% tabs %}
{
"nDailyOutcomesRemaining": 50,
"nActiveOutcomesRemaining": 14
}
{% endtab %}