Nova Markets market data API
Public, read-only market data of the perpetual markets of Nova Markets, in the format of CoinGecko's integration standard for derivatives exchanges. No key, JSON over HTTPS. Every figure is the one the trading page shows for the market (for example HYPE-USD): Mark, 24h Volume, Open Interest and Holding / 1h.
Answers are refreshed every minute. Poll at most once a minute per URL.
GET /coingecko/contracts
Every market, one object each.
curl https://data.nova.markets/coingecko/contracts
| Field | Meaning |
|---|---|
ticker_id |
The market as the app names it: HYPE-USD, trading page app.nova.markets/trade/nova/<ticker_id>. |
base_currency, target_currency |
The asset tracked and USD. ANTH is Anthropic (traded as ANT in the app). |
last_price, index_price, contract_price |
The oracle price, the trading page's Mark. Trades fill at it, moved by spread and price impact. |
base_volume, target_volume |
Every fill of the last 24 hours, opens and closes, in the base asset and in USD (size times price). |
bid, ask |
The best prices of the order book below. null when a side is at its cap. |
high, low |
The highest and lowest oracle price of the last 24 hours, by the minute. |
open_interest, open_interest_usd |
Open positions, longs plus shorts, in the base asset and in USD at the Mark. |
long_open_interest(_usd), short_open_interest(_usd) |
Each side. |
funding_rate, next_funding_rate |
What a long position pays per hour, as a fraction of its size: borrowing plus funding. Positive: longs pay. Negative: longs are paid. The trading page's Holding / 1h shows the same rate from the position's side, so with the opposite sign (negative when the side pays). |
funding_interval_minutes, next_funding_rate_timestamp |
60. The fee accrues continuously and is quoted per hour; the timestamp is the next hour (Unix seconds). |
product_type, contract_type |
Perpetual, Vanilla (linear, settled in USDC). |
start_timestamp, end_timestamp |
null: perpetuals do not expire. |
GET /coingecko/orderbook
A market's order book, best price first on each side. Nova markets fill against an oracle, so the book is the protocol's fill curve (spread, depth and skew) laid out as levels: walking it to a size gives the price that size fills at. It runs 2% deep on each side and stops where a side reaches its open interest or skew cap.
curl "https://data.nova.markets/coingecko/orderbook?ticker_id=HYPE-USD&depth=100"
| Parameter | Meaning |
|---|---|
ticker_id |
Required, from /coingecko/contracts. |
depth |
Levels over both sides, 100 by default (50 a side). 0 returns the whole book. |
Answer: ticker_id, timestamp (Unix milliseconds), bids and
asks as [price, quantity] strings, quantity in the base asset.
Contact
docs.nova.markets · x.com/novadotmarkets · t.me/novadotmarkets