스팟
이 섹션은 스팟에 특화된 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
사용자의 토큰 잔액을 확인합니다.
통합 계정 또는 포트폴리오 마진 하에서 이 엔드포인트가 스팟과 펍 전체의 거래 계정 잔액에 대한 신뢰할 수 있는 소스(single source of truth)입니다.
Headers
| Name | Type | Description |
|---|---|---|
| Content-Type* | "application/json" |
Request Body
| Name | Type | Description |
|---|---|---|
| type* | String | "spotClearinghouseState" |
| user* | String | 42자 16진수 형식의 온체인 주소; 예: 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자 16진수 형식의 온체인 주소; 예: 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 단계와 동일한 액션을 통해 허가 없이 가능합니다.
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자 16진수 형식의 온체인 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가 결과를 참조하는 데 사용하는 형식은 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는 질문입니다. 예: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 %}