spotDeployState | Hyperliquid Info API
curl --request POST \
--url https://hypercore.goldrushdata.com/info \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "<string>",
"user": "<string>"
}
'import requests
url = "https://hypercore.goldrushdata.com/info"
payload = {
"type": "<string>",
"user": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({type: '<string>', user: '<string>'})
};
fetch('https://hypercore.goldrushdata.com/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://hypercore.goldrushdata.com/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => '<string>',
'user' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://hypercore.goldrushdata.com/info"
payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"user\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://hypercore.goldrushdata.com/info")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"user\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://hypercore.goldrushdata.com/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"<string>\",\n \"user\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"states": [
{
"token": 123,
"spec": {
"name": "<string>",
"szDecimals": 123,
"weiDecimals": 123
},
"fullName": "<string>",
"spots": [
123
],
"maxSupply": 123,
"hyperliquidityGenesisBalance": "<string>",
"totalGenesisBalanceWei": "<string>",
"userGenesisBalances": [
{}
],
"existingTokenGenesisBalances": [
{}
]
}
],
"gasAuction": {
"startTimeSeconds": 123,
"durationSeconds": 123,
"startGas": "<string>",
"currentGas": {},
"endGas": {}
}
}Info API
spotDeployState | Hyperliquid Info API
Hyperliquid spotDeployState: fetch the spot-token deployment state and gas auction for a deployer.
POST
/
info
spotDeployState | Hyperliquid Info API
curl --request POST \
--url https://hypercore.goldrushdata.com/info \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "<string>",
"user": "<string>"
}
'import requests
url = "https://hypercore.goldrushdata.com/info"
payload = {
"type": "<string>",
"user": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({type: '<string>', user: '<string>'})
};
fetch('https://hypercore.goldrushdata.com/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://hypercore.goldrushdata.com/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => '<string>',
'user' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://hypercore.goldrushdata.com/info"
payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"user\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://hypercore.goldrushdata.com/info")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"user\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://hypercore.goldrushdata.com/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"<string>\",\n \"user\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"states": [
{
"token": 123,
"spec": {
"name": "<string>",
"szDecimals": 123,
"weiDecimals": 123
},
"fullName": "<string>",
"spots": [
123
],
"maxSupply": 123,
"hyperliquidityGenesisBalance": "<string>",
"totalGenesisBalanceWei": "<string>",
"userGenesisBalances": [
{}
],
"existingTokenGenesisBalances": [
{}
]
}
],
"gasAuction": {
"startTimeSeconds": 123,
"durationSeconds": 123,
"startGas": "<string>",
"currentGas": {},
"endGas": {}
}
}Credit Cost
1 per call
Processing
Realtime
type: "spotDeployState" is used to fetch the spot-token deployment state and gas auction for a deployer.
Estimate your monthly cost for this API using the Pricing Calculator.
- Wire-equal to
POST api.hyperliquid.xyz/infowith{"type": "spotDeployState", "user": "..."}. stateslists the deployer’s in-progress spot-token deployments; it is empty for auserwith no active deployment.gasAuctiondescribes the current spot-deploy Dutch gas auction, with gas prices returned as decimal strings.- User-keyed by the deployer address.
states) plus the current spot-deploy gas auction (gasAuction). Use it to track a deployer’s genesis configuration and the live gas price required to deploy a spot token.
Endpoint
POST https://hypercore.goldrushdata.com/info
Authorization: Bearer <GOLDRUSH_API_KEY>
Content-Type: application/json
Request
string
default:"spotDeployState"
required
Always
"spotDeployState".string
required
The deployer wallet address (lowercase 0x-prefixed hex).
Example
curl -X POST https://hypercore.goldrushdata.com/info \
-H "Authorization: Bearer $GOLDRUSH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "spotDeployState",
"user": "0x5e89b26d8d66da9888c835c9bfcc2aa51813e152"
}'
const response = await fetch("https://hypercore.goldrushdata.com/info", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.GOLDRUSH_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
type: "spotDeployState",
user: "0x5e89b26d8d66da9888c835c9bfcc2aa51813e152",
}),
});
const deployState = await response.json();
import os, requests
response = requests.post(
"https://hypercore.goldrushdata.com/info",
headers={"Authorization": f"Bearer {os.environ['GOLDRUSH_API_KEY']}"},
json={
"type": "spotDeployState",
"user": "0x5e89b26d8d66da9888c835c9bfcc2aa51813e152",
},
)
deploy_state = response.json()
Response
A single object with the deployer’s in-progress deployments and the current gas auction.states is empty when the deployer has no active spot deployment.
{
"states": [],
"gasAuction": {
"startTimeSeconds": 1784707200,
"durationSeconds": 111600,
"startGas": "1009.8417473",
"currentGas": "589.01327066",
"endGas": null
}
}
Field descriptions
Gas prices and genesis balances are returned as decimal strings, preserving upstream precision. Do not parse them as floats - keep them as strings or use a fixed-precision decimal type.
array<object>
In-progress spot-token deployments for this deployer. Empty when the deployer has no active deployment.
Show properties
Show properties
int
Token index.
object
string
Full (human-readable) token name.
array<int>
Spot pair indices the token participates in.
int
Maximum token supply.
string
Hyperliquidity genesis balance allocated at deployment.
string
Total genesis balance, in wei.
array<[string, string]>
[address, balance] pairs for genesis balances allocated to users.array<[int, string]>
[tokenIndex, balance] pairs for genesis balances denominated in existing tokens.object
Current spot-deploy gas auction.
Show properties
Show properties
Related endpoints
spotClearinghouseState
fetch a single user’s spot account balances by wallet address.
spotMeta
fetch the spot universe metadata and full token configuration without live market context.
spotMetaAndAssetCtxs
fetch the spot universe metadata, token configuration, and live market data in a single call.
batchSpotClearinghouseState
fetch spot account balances for up to 50 wallets in a single request.