Spot
Dieser Abschnitt dokumentiert die Info-Endpunkte, die spezifisch für Spot sind.
Spot-Metadaten abrufen
POST https://api.hyperliquid.xyz/info
Header
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "spotMeta" |
Antwort
{% 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 %}
Spot-Asset-Kontexte abrufen
POST https://api.hyperliquid.xyz/info
Header
| Name | Type | Description |
|---|---|---|
| Content-Type* | String | "application/json" |
Anfrage-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 %}
Token-Guthaben eines Nutzers abrufen
POST https://api.hyperliquid.xyz/info
Zeigt die Token-Guthaben eines Nutzers an.
Bei Unified Account oder Portfolio Margin ist dies die maßgebliche Quelle für das Guthaben des Trading-Kontos über Spot und Perps hinweg.
Header
| Name | Type | Description |
|---|---|---|
| Content-Type* | "application/json" |
Anfrage-Body
| Name | Type | Description |
|---|---|---|
| type* | String | "spotClearinghouseState" |
| user* | String | On-Chain-Adresse im 42-stelligen Hexadezimalformat; z. B. 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 %}
Informationen zur Spot-Deploy-Auktion abrufen
POST https://api.hyperliquid.xyz/info
Header
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "spotDeployState" |
| user* | String | On-Chain-Adresse im 42-stelligen Hexadezimalformat; z. B. 0x0000000000000000000000000000000000000000. |
Antwort
{% 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 %}
Informationen zur Spot-Pair-Deploy-Auktion abrufen
POST https://api.hyperliquid.xyz/info
Hinweis: Dies gibt den Status der niederländischen Auktion für Spot-Pair-Deployments zwischen bestehenden Base- und Quote-Tokens zurück. Die Teilnahme an dieser Auktion ist über dieselbe Aktion wie die registerSpot-Phase des Base-Token-Deployments erlaubnisfrei möglich.
Header
| 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 %}
Informationen zu einem Token abrufen
POST https://api.hyperliquid.xyz/info
Header
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "tokenDetails" |
| tokenId* | String | On-Chain-ID im 34-stelligen Hexadezimalformat; z. B. 0x00000000000000000000000000000000. |
Antwort
{% 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-Metadaten abrufen
POST https://api.hyperliquid.xyz/info
Die Formate, mit denen die API auf Outcomes verweist, sind im Abschnitt Asset IDs beschrieben. Outcomes und Questions, die aus einer Vorlage erstellt wurden, haben den name template:<id>, wobei <id> die id der Vorlage in der outcomeTemplates-Antwort ist. Das Format ihrer Beschreibung ist in der HIP-4-Deployment-Dokumentation beschrieben.
Wiederkehrende Standalone Outcomes und Questions tragen den Namen Recurring, und ihre description besteht aus |-getrennten key:value-Paaren, die mit class beginnen. expiry ist eine UTC-Zeit im Format YYYYMMDD-HHMM, und underlying ist ein Perp-Coin-Name. Beschreibungen können weitere Schlüssel enthalten, die ignoriert werden können.
class:priceBinaryist ein Standalone Outcome, z. B.class:priceBinary|underlying:BTC|expiry:20260526-0600|targetPrice:77363|period:1d. Es wird zu Yes aufgelöst, wenn der Mark-Preis vonunderlyingzum ZeitpunktexpiryübertargetPriceliegt.class:priceBucketist eine Question, z. B.class:priceBucket|underlying:BTC|expiry:20260615-0600|priceThresholds:63250,65831|period:1d, wobeipriceThresholds<lower>,<upper>entspricht. Basierend auf dem Mark-Preis vonunderlyingzum Zeitpunktexpiry:- Das Outcome mit der Beschreibung
index:0wird zu Yes aufgelöst, wenn der Preis unterlowerliegt. - Das Outcome mit der Beschreibung
index:1wird zu Yes aufgelöst, wenn der Preis mindestenslowerund unterupperliegt. - Das Outcome mit der Beschreibung
index:2wird zu Yes aufgelöst, wenn der Preis mindestensupperbeträgt.
Header
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "outcomeMeta" |
Antwort
{% 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 %}
Outcome-Vorlagen abrufen
POST https://api.hyperliquid.xyz/info
Header
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "outcomeTemplates" |
Gibt alle Outcome-Vorlagen zurück. role ist entweder {"standaloneOutcome": {"sideNames": [...]}}, "question" oder {"questionOutcome": {"parent": <question template id>}}. name und description enthalten {keyword}-Platzhalter, und keywords listet jedes Schlüsselwort mit seinem Typ als [keyword, type]-Paare auf. Das Wertformat der einzelnen Typen ist in der HIP-4-Deployment-Dokumentation beschrieben.
Antwort
{% 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 %}
Informationen zu einem abgewickelten Outcome abrufen
POST https://api.hyperliquid.xyz/info
Header
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "settledOutcome" |
| outcome* | int | outcome |
Antwort
{% 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 %}
Limits für Outcome-Deployer abrufen
POST https://api.hyperliquid.xyz/info
Header
| Name | Value |
|---|---|
| Content-Type* | "application/json" |
Body
| Name | Type | Description |
|---|---|---|
| type* | String | "outcomeDeployerLimits" |
| venue* | String | Venue-Name |
Antwort
{% tabs %}
{
"nDailyOutcomesRemaining": 50,
"nActiveOutcomesRemaining": 14
}
{% endtab %}