{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "ApiResponseBreadthSnapshot",
"type": "object",
"properties": {
"data": {
"description": "Aggregate percentage of eligible Hyperliquid core perpetual or HIP-3 instruments trading above their current UTC-session VWAP. The same validated snapshot shape is used for both families; per-symbol VWAPs are not served.",
"type": "object",
"required": [
"calculated_at",
"counts",
"coverage_ratio",
"namespaces",
"session_date",
"value_pct"
],
"properties": {
"calculated_at": {
"description": "UTC calculation cutoff for this validated snapshot. It identifies the cutoff used for included candle data and is not a source-freshness guarantee.",
"type": "string",
"format": "date-time"
},
"counts": {
"description": "Auditable counts behind an aggregate Hyperliquid core perpetual or HIP-3 breadth snapshot.",
"type": "object",
"required": [
"above",
"at",
"below",
"candidates",
"eligible",
"excluded_no_session_volume",
"excluded_stale_price"
],
"properties": {
"above": {
"description": "Eligible instruments trading above their current UTC-session VWAP.",
"type": "integer",
"format": "int32",
"minimum": 0
},
"at": {
"description": "Eligible instruments at their current UTC-session VWAP.",
"type": "integer",
"format": "int32",
"minimum": 0
},
"below": {
"description": "Eligible instruments trading below their current UTC-session VWAP.",
"type": "integer",
"format": "int32",
"minimum": 0
},
"candidates": {
"description": "Cumulative candidate instruments considered at this calculation cutoff. This is not a fixed inventory, and candidate counts are not guaranteed to be monotonic across historical snapshots.",
"type": "integer",
"format": "int32",
"minimum": 0
},
"eligible": {
"description": "Eligible instruments included in the headline percentage.",
"type": "integer",
"format": "int32",
"minimum": 0
},
"excluded_no_session_volume": {
"description": "Candidates excluded because the current UTC session has no qualifying volume.",
"type": "integer",
"format": "int32",
"minimum": 0
},
"excluded_stale_price": {
"description": "Candidates with session volume excluded because their most recent completed 1-minute candle close was older than the 5-minute freshness threshold at the calculation cutoff. Candidates without session volume are counted only in excluded_no_session_volume.",
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"coverage_ratio": {
"description": "Eligible divided by candidates, constrained to the range 0..1.",
"type": "number",
"format": "double",
"minimum": 0,
"maximum": 1
},
"namespaces": {
"description": "Per-namespace count breakdowns for the shared core and HIP-3 breadth shape. Core perpetual responses always return empty maps. HIP-3 responses use builder namespace keys where counts are nonzero, so an individual map may be empty.",
"type": "object",
"required": [
"above",
"at",
"below",
"eligible"
],
"properties": {
"above": {
"description": "Above-VWAP instrument counts by builder namespace for HIP-3; always empty for core perpetuals.",
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"at": {
"description": "At-VWAP instrument counts by builder namespace for HIP-3; always empty for core perpetuals.",
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"below": {
"description": "Below-VWAP instrument counts by builder namespace for HIP-3; always empty for core perpetuals.",
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"eligible": {
"description": "Eligible instrument counts by builder namespace for HIP-3; always empty for core perpetuals.",
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
}
},
"session_date": {
"description": "UTC session date.",
"type": "string",
"format": "date"
},
"value_pct": {
"description": "100 times above divided by eligible; null when eligible is zero and never interpret null as 0%.",
"type": "number",
"format": "double",
"nullable": true
}
}
},
"meta": {
"description": "Response metadata",
"type": "object",
"properties": {
"count": {
"description": "Number of records returned",
"type": "integer"
},
"coverage_from": {
"description": "Earliest coverage for the requested symbol and data type. Present only when the requested window ends before coverage begins.",
"type": "string",
"format": "date-time"
},
"next_cursor": {
"description": "Cursor for pagination (timestamp). Use this value as the `cursor` parameter to fetch the next page of results.",
"type": "string",
"nullable": true
},
"notice": {
"description": "Human-readable advisory about the response. Used when the requested window ends before coverage begins for the symbol, and on CVD responses that are one page of several; may carry other advisories in future.",
"type": "string"
},
"request_id": {
"description": "Unique request ID for support",
"type": "string",
"format": "uuid"
}
}
},
"success": {
"type": "boolean",
"example": true
}
}
}