GET /markets/{market_id}/ticker
Get ticker for a market
Get ticker for a market.
operationId: fetchTicker · CCXT method: fetchTicker
Declared server:
https://api.testnet.nexus.xyz/v1. See Networks.
Authentication: none. This endpoint is public.
Market identifier (e.g. BTC-USDX-PERP, ETH-USDX-PERP). Uppercase ASCII alphanumeric segments joined by single hyphens, at most 64 characters. A value outside that set is rejected with 400 (INVALID_MARKET_ID) before any store is read — it cannot name a market, so an empty result would assert that nothing traded rather than that the question was malformed. A well-formed identifier that names no listed market is a 404, not a 400.
BTC-USDX-PERPPattern: ^[A-Z0-9]+(-[A-Z0-9]+)*$Current ticker for the market.
CCXT-compatible ticker with 24h statistics
Unix ms
Traded notional in quote (USDX). This is not a 24h window. MarketSummary.volume_24h and Ticker.quoteVolume are the SAME accumulator under a misleading name: nothing decays either of them. Read GET /stats/volume when you want the cumulative figure stated honestly, with the coverage start that says what it is cumulative since. Same accumulator, and the same lossy f64 conversion, as MarketSummary.volume_24h.
Engine-derived mark price (oracle + premium-index), falling back to the last trade until the first mark-price poll lands. The raw last trade is carried by last.
The supplied market_id path or query value is not a well-formed market identifier: it must match ^[A-Z0-9]+(-[A-Z0-9]+)*$ and be at most 64 characters. Branch on the body's code, which is always INVALID_MARKET_ID; message restates the rule and is a diagnostic whose wording is not stable. The result for a well-formed identifier that is not currently available is operation-specific and documented by that operation.
Market not found
Rate limit exceeded. Retryable — honour retry-after and back off; this is what separates a 429 from the permanent 403 jurisdiction refusals. Branch on the body's code, which is always RATE_LIMIT_EXCEEDED, and on bucket to learn WHICH budget bottlenecked — the buckets are independent, so a caller at its read ceiling can still submit orders and should not back off the whole client. Do not parse message: it is a diagnostic whose wording is not stable. Requests are charged by weight, so exhausting a budget takes fewer heavy calls than x-ratelimit-limit suggests. See “Rate limits” in the API description.
GET /v1/markets/{market_id}/ticker HTTP/1.1
Host: api.testnet.nexus.xyz
Accept: */*
{
"symbol": "BTC-USDX-PERP",
"timestamp": 1776033911836,
"datetime": "2026-04-12T22:45:11.836Z",
"high": 50500,
"low": 49200,
"bid": 50100.5,
"bidVolume": 1.4,
"ask": 50102,
"askVolume": 0.8,
"open": 49800,
"close": 50100,
"last": 50100,
"change": 300,
"percentage": 0.602,
"baseVolume": 1250.5,
"quoteVolume": 62525000,
"markPrice": 50101.5,
"indexPrice": null,
"info": {}
}API version 0.9.122
Last updated

