value_pct is null when no instruments are eligible, never 0. This route is aggregate-only and does not expose per-symbol VWAPs. Snapshots are written every minute. Data collection begins August 28, 2026.
Route Metadata
| Field | Value |
|---|---|
| Method | GET |
| Path | /v1/hyperliquid/hip3/breadth/above-vwap/current |
| operationId | getHip3BreadthAboveVwapCurrent |
| Tag | HIP-3 Builder Perps - Breadth |
| Family | HIP-3 |
| Deprecated or legacy | no |
Response Contracts
Status 200
Current HIP-3 breadth snapshotapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "getHip3BreadthAboveVwapCurrent response 200",
"type": "object",
"properties": {
"data": {
"description": "Aggregate percentage of eligible HIP-3 instruments trading above their current UTC-session VWAP. Per-symbol VWAPs are not served.",
"type": "object",
"required": [
"calculated_at",
"counts",
"coverage_ratio",
"namespaces",
"session_date",
"value_pct"
],
"properties": {
"calculated_at": {
"description": "Timestamp when this snapshot was calculated.",
"type": "string",
"format": "date-time"
},
"counts": {
"description": "Auditable counts behind an aggregate 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": "Candidate instruments considered for the snapshot.",
"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 excluded because their price was stale.",
"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-builder-namespace count breakdowns keyed by namespace.",
"type": "object",
"required": [
"above",
"at",
"below",
"eligible"
],
"properties": {
"above": {
"description": "Above-VWAP counts by builder namespace.",
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"at": {
"description": "At-VWAP counts by builder namespace.",
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"below": {
"description": "Below-VWAP counts by builder namespace.",
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"eligible": {
"description": "Eligible instrument counts by builder namespace.",
"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.",
"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. Currently used when the requested window ends before coverage begins for the symbol; 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
}
}
}
Status 401
Authentication requiredapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "getHip3BreadthAboveVwapCurrent response 401",
"description": "Error response",
"type": "object",
"properties": {
"code": {
"description": "HTTP status code",
"type": "integer"
},
"error": {
"description": "Error message",
"type": "string"
},
"error_code": {
"description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
"type": "string"
},
"request_id": {
"description": "Unique request ID for support",
"type": "string",
"format": "uuid"
}
}
}
OpenAPI example
{
"code": 401,
"error": "Missing or invalid API key. Provide X-API-Key header."
}
Status 404
Resource not foundapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "getHip3BreadthAboveVwapCurrent response 404",
"description": "Error response",
"type": "object",
"properties": {
"code": {
"description": "HTTP status code",
"type": "integer"
},
"error": {
"description": "Error message",
"type": "string"
},
"error_code": {
"description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
"type": "string"
},
"request_id": {
"description": "Unique request ID for support",
"type": "string",
"format": "uuid"
}
}
}
OpenAPI example
{
"code": 404,
"error": "Resource not found"
}
Status 429
Rate limit exceededapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "getHip3BreadthAboveVwapCurrent response 429",
"description": "Error response",
"type": "object",
"properties": {
"code": {
"description": "HTTP status code",
"type": "integer"
},
"error": {
"description": "Error message",
"type": "string"
},
"error_code": {
"description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
"type": "string"
},
"request_id": {
"description": "Unique request ID for support",
"type": "string",
"format": "uuid"
}
}
}
OpenAPI example
{
"code": 429,
"error": "Rate limit exceeded"
}