DH
4 min read·Updated 2026-06-12

DexHunt External API

Read-only external API for Hyperliquid wallet discovery, market analytics, liquidation levels, rankings, and activity data.

What the API provides

External API only

This documentation covers only the consumer-facing API under /api/developer/v1. Internal dashboard and operator routes are intentionally not documented here.

DexHunt exposes a read-only analytics API for Hyperliquid wallet, market, liquidation, ranking, activity, and news data. The API is a data provider surface: it returns signals and aggregated state, not order execution, trade copying, or automated strategy controls.

The base URL used throughout these docs is https://api.dexhunt.app/api/developer/v1. Every request to this namespace requires a developer API token in the X-API-Key header.

Make the first request

Start by checking the available networks. At the moment the main network id is hyperliquid; the API shape keeps the network in the path so future data sources can use the same contract.

Request
bash
curl -sS "https://api.dexhunt.app/api/developer/v1/networks" \
  -H "X-API-Key: hlsk_your_developer_key"
Example response
json
{
  "items": [
    {
      "network": "hyperliquid",
      "displayName": "Hyperliquid",
      "active": true,
      "strategyEnabled": true,
      "scanAssetCount": 250
    }
  ],
  "nextCursor": null
}

Read the data model correctly

The API is backed by scanned wallets, PostgreSQL current-state tables, Elasticsearch profile history, and selected live reads from Hyperliquid. A response can combine all of those sources while keeping one JSON contract.

Coverage is explicit

Wallet and market aggregate responses describe scanned and indexed wallets, not every wallet on the exchange.

coverage = scanned_wallets

Decimals are strings

Money, prices, PnL, percentages, and other decimal values are returned as JSON strings to preserve precision.

BigDecimal-safe

Nullable means unavailable

Some analytics fields depend on wallet profiles or live upstream data. When the signal is missing, the field is null.

No fake zeroes

Pagination is cursor based

List endpoints use limit plus cursor. Cursors are opaque to clients even when the current implementation looks like an offset or timestamp.

items + nextCursor

Choose the surface you need

What to do next