> ## Documentation Index
> Fetch the complete documentation index at: https://goldrush.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# spotDeployState | Hyperliquid Info API

> Hyperliquid spotDeployState: fetch the spot-token deployment state and gas auction for a deployer.

<CardGroup cols={2}>
  <Card title="Credit Cost"> 1 per call</Card>
  <Card title="Processing"> Realtime</Card>
</CardGroup>

The Hyperliquid info endpoint with `type: "spotDeployState"` is used to fetch the spot-token deployment state and gas auction for a deployer.

<Tip>
  Estimate your monthly cost for this API using the [Pricing Calculator](/docs/pricing-calculator?endpoint=%2Fapi-reference%2Fhyperliquid-info%2Fspot-deploy-state).
</Tip>

<Info>
  * Wire-equal to `POST api.hyperliquid.xyz/info` with `{"type": "spotDeployState", "user": "..."}`.
  * `states` lists the deployer's in-progress spot-token deployments; it is empty for a `user` with no active deployment.
  * `gasAuction` describes the current spot-deploy Dutch gas auction, with gas prices returned as decimal strings.
  * User-keyed by the deployer address.
</Info>

Returns the spot-token deployment state for a deployer: any in-progress token deployments (`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

<ParamField body="type" type="string" required default="spotDeployState">
  Always `"spotDeployState"`.
</ParamField>

<ParamField body="user" type="string" required>
  The deployer wallet address (lowercase 0x-prefixed hex).
</ParamField>

### Example

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://hypercore.goldrushdata.com/info \
    -H "Authorization: Bearer $GOLDRUSH_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "type": "spotDeployState",
      "user": "0x5e89b26d8d66da9888c835c9bfcc2aa51813e152"
    }'
  ```

  ```typescript TypeScript theme={null}
  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();
  ```

  ```python Python theme={null}
  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()
  ```
</CodeGroup>

## 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.

```json theme={null}
{
  "states": [],
  "gasAuction": {
    "startTimeSeconds": 1784707200,
    "durationSeconds": 111600,
    "startGas": "1009.8417473",
    "currentGas": "589.01327066",
    "endGas": null
  }
}
```

### Field descriptions

<Note>
  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.
</Note>

<ResponseField name="states" type="array<object>">
  In-progress spot-token deployments for this deployer. Empty when the deployer has no active deployment.

  <Expandable title="properties">
    <ResponseField name="token" type="int">Token index.</ResponseField>

    <ResponseField name="spec" type="object">
      Token specification.

      <Expandable title="properties">
        <ResponseField name="name" type="string">Token name.</ResponseField>
        <ResponseField name="szDecimals" type="int">Number of decimals for size precision.</ResponseField>
        <ResponseField name="weiDecimals" type="int">Number of decimals for the wei-denominated amount.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="fullName" type="string">Full (human-readable) token name.</ResponseField>
    <ResponseField name="spots" type="array<int>">Spot pair indices the token participates in.</ResponseField>
    <ResponseField name="maxSupply" type="int">Maximum token supply.</ResponseField>
    <ResponseField name="hyperliquidityGenesisBalance" type="string">Hyperliquidity genesis balance allocated at deployment.</ResponseField>
    <ResponseField name="totalGenesisBalanceWei" type="string">Total genesis balance, in wei.</ResponseField>
    <ResponseField name="userGenesisBalances" type="array<[string, string]>">`[address, balance]` pairs for genesis balances allocated to users.</ResponseField>
    <ResponseField name="existingTokenGenesisBalances" type="array<[int, string]>">`[tokenIndex, balance]` pairs for genesis balances denominated in existing tokens.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="gasAuction" type="object">
  Current spot-deploy gas auction.

  <Expandable title="properties">
    <ResponseField name="startTimeSeconds" type="int">Auction start time (Unix seconds).</ResponseField>
    <ResponseField name="durationSeconds" type="int">Auction duration, in seconds.</ResponseField>
    <ResponseField name="startGas" type="string">Starting gas price, as a decimal string.</ResponseField>
    <ResponseField name="currentGas" type="string | null">Current gas price, as a decimal string; `null` when the auction has ended.</ResponseField>
    <ResponseField name="endGas" type="string | null">Ending gas price, as a decimal string; `null` while the auction is still active.</ResponseField>
  </Expandable>
</ResponseField>

*Last reviewed: 2026-07-24*
