# Hyperliquid Spot Tracker — Every Spot Pair Live Price + Vol (`gochujang/hyperliquid-spot-tracker`) Actor

Live state for every spot pair on Hyperliquid DEX: mid / mark / oracle price, 24h volume, supply, market cap. Complement to HL perp data. Free HL API. PPE $0.001/pair.

- **URL**: https://apify.com/gochujang/hyperliquid-spot-tracker.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Hyperliquid Spot Token Tracker

> Live snapshot of every Hyperliquid spot pair (300+): mid/mark price, 24h volume, 24h change, circulating + total supply, implied market cap. Spot HL breakouts before they hit CEXes. No API key required.

---

### What It Does

Hyperliquid is the dominant decentralized perp DEX — its spot market is its emerging ecosystem layer. This Actor returns every spot pair traded there with:

- **Mid + mark price**
- **24h volume** (notional USD and base-token units)
- **24h % change** (vs previous day's price)
- **Circulating + total supply**
- **Implied market cap** (mid × circulating)

Filterable by symbol, min volume, min market cap. Sortable by gainers, losers, market cap, volume.

---

### Why This Matters

- **Spot Hyperliquid breakouts often precede CEX listings**. HYPE, PURR, and various meme/native tokens build their first price discovery here.
- **Perp + spot triangulation**: Use this with our [Hyperliquid Whale Tracker](https://apify.com/gochujang/hyperliquid-whale-tracker) for full HL ecosystem coverage.
- **Native ecosystem signal**: HL spot volume share growing = real on-chain liquidity migration to HL.

---

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `symbols` | array | all | Filter by base symbols (e.g. `HYPE`, `PURR`) |
| `minVolume24hUsd` | integer | `10000` | Skip illiquid pairs |
| `minMarketCapUsd` | integer | `0` | Skip below this market cap |
| `sortBy` | string | `volume_24h_desc` | `volume_24h_desc`, `market_cap_desc`, `change_24h_desc`, `change_24h_asc`, `symbol_asc` |
| `limit` | integer | `100` | Max rows |
| `alertChange24hPct` | number | `0` | Telegram alert if any pair `|24h change|` ≥ X% |
| `telegramBotToken` | string (secret) | — | Bot token |
| `telegramChatId` | string | — | Chat ID |

#### Example: Top movers
```json
{"sortBy": "change_24h_desc", "minVolume24hUsd": 100000, "limit": 20}
````

#### Example: Liquid HL spot leaderboard

```json
{"sortBy": "volume_24h_desc", "limit": 30}
```

#### Example: Big pump alert

```json
{"alertChange24hPct": 50, "telegramBotToken": "...", "telegramChatId": "..."}
```

***

### Output

```json
{
  "pair": "HYPE/USDC",
  "pair_index": 0,
  "base_token": "HYPE",
  "quote_token": "USDC",
  "mid_price": 28.42,
  "mark_price": 28.43,
  "prev_day_price": 26.15,
  "change_24h_pct": 8.68,
  "volume_24h_usd": 142800000,
  "volume_24h_base": 5042000,
  "circulating_supply": 333800000,
  "total_supply": 1000000000,
  "market_cap_usd": 9486796000,
  "is_canonical": true
}
```

***

### Pricing

- **$0.001 per pair returned**

Examples:

- Top 100 by volume: **$0.10**
- Full sweep (~300 pairs): **$0.30**

***

### Use Cases

**HL spot leaderboard** — Schedule hourly, post top 10 movers to your Discord.

**New-listing detector** — Diff the pair list vs prior runs to catch newly-added tokens.

**Cross-venue arb screen** — Compare HL spot price against Binance/Coinbase for tokens listed on both.

***

### Data Source

- **Hyperliquid Info API** — `POST https://api.hyperliquid.xyz/info` with `{"type": "spotMetaAndAssetCtxs"}`
- No API key required, no rate limits at this volume.

***

### Related Actors

- **[Hyperliquid Whale Tracker](https://apify.com/gochujang/hyperliquid-whale-tracker)** — Perp side of the same ecosystem.
- **[Long-Short OI Aggregator](https://apify.com/gochujang/long-short-oi-aggregator)** — Compare HL perp positioning with the rest of the perp market.
- **[Smart Money Wallet Tracker](https://apify.com/gochujang/smart-money-tracker)** — On-chain whale activity for HL-listed tokens.

***

***

### 🎬 Live Sample Run

A real run of this actor with default-ish inputs, executed on 2026-06-10:

| Field | Value |
|---|---|
| Items in dataset | 15 |
| Dataset (JSON) | `https://api.apify.com/v2/datasets/hI0ygZ64dj7IB5kC1/items?clean=1&format=json` |
| Dataset (CSV) | `https://api.apify.com/v2/datasets/hI0ygZ64dj7IB5kC1/items?clean=1&format=csv` |
| Run summary (KVS) | `https://api.apify.com/v2/key-value-stores/2nVsOFrPyB2gBDH2g/records/SUMMARY` |
| Run details | `https://api.apify.com/v2/actor-runs/g5AETgGcui0NJ0KG6` |

**Try it now**: pop any of the dataset URLs in your browser to see live output, or hit the API endpoints from your code.

> Want to reproduce? Click **Try Actor** on the Apify Store page and use the input defaults shown above.

### Feedback

[Leave a review on Apify Store](https://apify.com/gochujang/hyperliquid-spot-tracker#reviews)

# Actor input Schema

## `symbols` (type: `array`):

Limit to specific base symbols (e.g. HYPE, PURR). Empty = all 300+ pairs.

## `minVolume24hUsd` (type: `integer`):

Skip illiquid pairs below this notional 24h volume.

## `minMarketCapUsd` (type: `integer`):

Skip pairs below this market cap.

## `sortBy` (type: `string`):

Sort order.

## `limit` (type: `integer`):

Maximum number of pairs to return.

## `alertChange24hPct` (type: `number`):

Telegram alert when any pair's |24h change| ≥ X%. 0 = disabled.

## `telegramBotToken` (type: `string`):

Telegram bot token.

## `telegramChatId` (type: `string`):

Chat ID.

## Actor input object example

```json
{
  "symbols": [],
  "minVolume24hUsd": 10000,
  "minMarketCapUsd": 0,
  "sortBy": "volume_24h_desc",
  "limit": 100,
  "alertChange24hPct": 0,
  "telegramChatId": ""
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/hyperliquid-spot-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("gochujang/hyperliquid-spot-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call gochujang/hyperliquid-spot-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=gochujang/hyperliquid-spot-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Hyperliquid Spot Tracker — Every Spot Pair Live Price + Vol",
        "description": "Live state for every spot pair on Hyperliquid DEX: mid / mark / oracle price, 24h volume, supply, market cap. Complement to HL perp data. Free HL API. PPE $0.001/pair.",
        "version": "0.1",
        "x-build-id": "wqgmXKzSLwyEYDYUk"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/gochujang~hyperliquid-spot-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-gochujang-hyperliquid-spot-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/gochujang~hyperliquid-spot-tracker/runs": {
            "post": {
                "operationId": "runs-sync-gochujang-hyperliquid-spot-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/gochujang~hyperliquid-spot-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-gochujang-hyperliquid-spot-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "symbols": {
                        "title": "Base Symbols Filter",
                        "type": "array",
                        "description": "Limit to specific base symbols (e.g. HYPE, PURR). Empty = all 300+ pairs.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "minVolume24hUsd": {
                        "title": "Min 24h Volume USD",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Skip illiquid pairs below this notional 24h volume.",
                        "default": 10000
                    },
                    "minMarketCapUsd": {
                        "title": "Min Market Cap USD",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Skip pairs below this market cap.",
                        "default": 0
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "volume_24h_desc",
                            "market_cap_desc",
                            "change_24h_desc",
                            "change_24h_asc",
                            "symbol_asc"
                        ],
                        "type": "string",
                        "description": "Sort order.",
                        "default": "volume_24h_desc"
                    },
                    "limit": {
                        "title": "Max Pairs",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of pairs to return.",
                        "default": 100
                    },
                    "alertChange24hPct": {
                        "title": "Alert 24h Change %",
                        "minimum": 0,
                        "type": "number",
                        "description": "Telegram alert when any pair's |24h change| ≥ X%. 0 = disabled.",
                        "default": 0
                    },
                    "telegramBotToken": {
                        "title": "Telegram Bot Token",
                        "type": "string",
                        "description": "Telegram bot token."
                    },
                    "telegramChatId": {
                        "title": "Telegram Chat ID",
                        "type": "string",
                        "description": "Chat ID.",
                        "default": ""
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
