API Overview
d.pro's three API surfaces — Public Data API, d.pro Backend API, and Hyperliquid API — what each covers and when to use which.
d.pro exposes three distinct API surfaces:
- d.pro Backend API (
dpro-backend) — d.pro-specific features: referrals, OPC, watchlist, cohort, leaderboard, skill market. Authenticated with a wallet JWT. - Public Data API — a key-based REST API for d.pro's HyperLiquid analytics (holders, prices, trending, leaderboard, smart traders) and cross-asset market data (news, assets, klines, equity fundamentals). Free to start; paid tiers raise the rate limit and add monthly credits.
- Hyperliquid API — trading execution, market data, account state, WebSocket streams.
For core trading operations (placing orders, reading positions, subscribing to market data), use the Hyperliquid API directly. d.pro's UI wraps it, but you can also call it directly.
For d.pro-exclusive features, use the d.pro Backend API. To pull d.pro's analytics into your own apps with an API key, use the Public Data API.
The d.pro backend runs on Fastify (via NestJS) and exposes a REST API at the base path /api/v1/. All protected endpoints require a JWT token obtained via the authentication flow.
Public Data API
The Public Data API lets you pull d.pro's HyperLiquid analytics — spot/perp holders, mid prices, the liquidation heatmap, trending assets, the trader leaderboard, and HIP-3/HIP-4 smart traders — straight into your own apps and bots. It also covers cross-asset market data across crypto, stocks, ETFs, forex, and commodities.
It is authenticated with an API key (not the wallet JWT used by the rest of the backend API) and controlled with a per-key rate limit (plus a monthly credit quota on paid tiers).
Base URL: https://api.d.pro/api/public/v1
Interactive reference (try requests with your key): https://api.d.pro/api/public/docs
Quickstart
Make your first request to GET /hl/prices/mids (all mid prices, no parameters), sending your key in the x-api-key header. Every response is wrapped in { code, data, msg } — code is "0" on success and non-"0" on error, and the payload is in data. See Conventions for the full envelope spec, number encoding, pagination, and error codes.
A successful response to GET /hl/prices/mids looks like this:
{
"code": "0",
"msg": "success",
"data": {
"mids": { "BTC": "61284.5", "ETH": "2410.3", "PURR": "0.090711" }
}
}Read a coin's mid price from data.mids (for example, data.mids.BTC). Numbers come back as strings (to preserve precision) — parse them with a big-decimal library, not floats.
API surfaces
d.pro Backend API
Base URL: https://api.d.pro/api/v1/
Authentication: Bearer JWT (see Authentication)
Modules and endpoints:
| Module | Base Path | Description |
|---|---|---|
| Auth | /auth | JWT session management |
| Referral System | /referral | Create codes, bind, claim rewards |
| OPC | /opc | White-label platform management |
| Watchlist | /watchlist | Address group monitoring |
| Cohort | /cohort | Comparative analytics |
| Leaderboard | /leaderboard | Enhanced leaderboard |
| Skill Market | /skill-market | Browse and download AI skills |
| Hyperliquid Proxy | /hl | Proxied Hyperliquid data (with caching) |
| Revenue | /revenue | OPC revenue rounds |
| Claim | /claim | Claim rounds management |
Content type: application/json for all requests and responses.
Pagination: All list endpoints support page and limit query parameters.
Hyperliquid API
All Hyperliquid API calls are POST requests to two endpoints:
| Endpoint | Usage |
|---|---|
https://api.hyperliquid.xyz/info | Read-only: market data, account state |
https://api.hyperliquid.xyz/exchange | Write: place orders, transfers, modifications |
Request format:
{
"type": "clearinghouseState",
"user": "0x..."
}WebSocket: wss://api.hyperliquid.xyz/ws for real-time subscriptions.
For complete Hyperliquid API documentation, see Hyperliquid's official docs.
d.pro API quick reference
Authentication
API key setup and wallet-based JWT — authentication for the Public Data API and backend features.
HyperLiquid Endpoints
Key-based access to holders, prices, trending, leaderboard, smart traders.
Markets
Cross-asset news, assets, klines, tickers, and equity fundamentals.
Referral API
Create codes, list referees, claim rewards.
OPC API
Create and manage white-label platforms.
Watchlist API
Group and monitor wallet addresses.
Rate limits
The d.pro API enforces per-IP and per-authenticated-user rate limits. Exceeding the limit returns HTTP 429.
Hyperliquid's API has its own rate limits — see the Hyperliquid rate limits documentation for details.
Error format
d.pro API errors follow standard HTTP semantics:
{
"statusCode": 401,
"message": "Unauthorized",
"error": "Invalid or expired JWT token"
}Hyperliquid API errors are embedded in HTTP 200 responses:
{
"status": "err",
"response": "Order would immediately cross"
}