---
title: "Get current HIP-3 breadth above session VWAP"
method: GET
path: "/v1/hyperliquid/hip3/breadth/above-vwap/current"
tags: ["HIP-3 Builder Perps - Breadth"]
---

# Get current HIP-3 breadth above session VWAP

`GET /v1/hyperliquid/hip3/breadth/above-vwap/current`

## Request

- Base URL: `https://api.0xarchive.io`
- URL: `https://api.0xarchive.io/v1/hyperliquid/hip3/breadth/above-vwap/current`
- Auth: API key in header `X-API-Key`

Get the latest validated aggregate percentage of eligible HIP-3 instruments trading above their current UTC-session VWAP. Each instrument contributes one vote; VWAP uses candle quote volume divided by base volume and compares the last completed 1-minute candle close. The session resets at 00:00 UTC. Instruments with no session volume or a last completed candle older than 5 minutes are excluded, so coverage varies by market hours. `value_pct` is null when no instruments are eligible, never 0. HIP-3 `namespaces` maps are keyed by builder namespace when counts are nonzero; this route is aggregate-only and does not expose per-symbol VWAPs. Validated snapshots are stored every minute when the calculation passes its invariants; failed or invalid calculations do not create a row. `calculated_at` is the UTC cutoff used to calculate the validated snapshot, not a source-freshness guarantee. HIP-3 history begins 2026-08-28; there is no pre-launch history.

## Response `200`

Current HIP-3 breadth snapshot

- ApiResponseBreadthSnapshot
  - `success` boolean
  - `data` BreadthSnapshot: 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.
    - `session_date` string, date, required: UTC session date.
    - `calculated_at` string, date-time, required: UTC calculation cutoff for this validated snapshot. It identifies the cutoff used for included candle data and is not a source-freshness guarantee.
    - `value_pct` number, double, nullable, required: 100 times above divided by eligible; null when eligible is zero and never interpret null as 0%.
    - `coverage_ratio` number, double, required: Eligible divided by candidates, constrained to the range 0..1.
    - `counts` BreadthCounts, required: Auditable counts behind an aggregate Hyperliquid core perpetual or HIP-3 breadth snapshot.
      - `candidates` integer, required: 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.
      - `eligible` integer, required: Eligible instruments included in the headline percentage.
      - `above` integer, required: Eligible instruments trading above their current UTC-session VWAP.
      - `at` integer, required: Eligible instruments at their current UTC-session VWAP.
      - `below` integer, required: Eligible instruments trading below their current UTC-session VWAP.
      - `excluded_no_session_volume` integer, required: Candidates excluded because the current UTC session has no qualifying volume.
      - `excluded_stale_price` integer, required: 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.
    - `namespaces` BreadthNamespaceCounts, required: 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.
      - `eligible` object, required: Eligible instrument counts by builder namespace for HIP-3; always empty for core perpetuals.
      - `above` object, required: Above-VWAP instrument counts by builder namespace for HIP-3; always empty for core perpetuals.
      - `at` object, required: At-VWAP instrument counts by builder namespace for HIP-3; always empty for core perpetuals.
      - `below` object, required: Below-VWAP instrument counts by builder namespace for HIP-3; always empty for core perpetuals.
  - `meta` ResponseMeta: Response metadata. Every 2xx JSON response carries `meta.request_id`; list payloads add `count`; cursor-paged routes add `has_more` and, when another page follows, `next_cursor`; per-symbol routes add `symbol` and `venue`. Fields that do not apply to a route are omitted.
    - `count` integer: Number of records returned
    - `has_more` boolean: Cursor-paged routes: whether another page follows. `next_cursor` is present exactly when this is `true`. A final page can be empty when the previous page was exactly full; `has_more` is `false` on it.
    - `next_cursor` string: Opaque cursor for the next page, present exactly when `has_more` is `true`. Pass it back unchanged as `cursor` with the same filters. Do not parse or construct it.
    - `request_id` string, uuid, required: Unique request ID for support
    - `symbol` string: Per-symbol routes: the canonical public symbol the response describes (for example `BTC`, `xyz:TSLA`, `HYPE-USDC`, `#0`).
    - `venue` 'hyperliquid' | 'hip3' | 'hip4' | 'spot' | 'lighter' | 'rh-lighter': Per-symbol routes: the venue the response describes.
    - `coverage_from` string, date-time: Earliest coverage for the requested symbol and data type. Present only when the requested window ends before coverage begins.
    - `notice` string: 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.
    - `finalized_through` string, date-time: Two-tier datasets (Lighter trades): data at or before this instant is final; later data is preliminary.
    - `requested_end` string, date-time, nullable: The `end` the request asked for, echoed when it was clamped to `finalized_through`.
    - `clamped_to` string, date-time, nullable: The boundary the request's `end` was clamped to, when clamping occurred.
    - `preliminary_row_count` integer, nullable: Number of preliminary rows in this response, on routes that intentionally serve preliminary data (Lighter `/recent`).

## Other responses

- `401`: Authentication required: the API key is missing or invalid.
- `404`: Not found. `not_found`: the resource id is unknown. `unsupported_for_venue`: the venue does not offer this datatype (`available_on` names where it is served). `route_not_found`: no route matches the path.
- `429`: Rate limit, concurrency limit or monthly credits exceeded. See `error_code`.
- `default`: Any other error. The body is an `ErrorResponse`; branch on `error_code`. A 503 (`upstream_unavailable`) carries `Retry-After`.

---

[API](https://skmtc.dev/0xarchive/apis/0xarchive-api-2.md) · [All operations](https://skmtc.dev/0xarchive/apis/0xarchive-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/0xarchive/apis/0xarchive-api-2/revisions/27076f55595f?raw)
