> ## Documentation Index
> Fetch the complete documentation index at: https://hypernode-docs.polynode.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# HTTP Endpoints

> Health, status, and metrics endpoints

All HTTP endpoints are available at `https://hyper.polynode.dev`. No authentication required.

## GET /health

Health check for load balancers and monitoring.

**Response:** `200 OK`

```
ok
```

## GET /status

Service status overview.

**Response:**

```json theme={null}
{
  "status": "ok",
  "network": "mainnet",
  "block": 70874222,
  "actions_per_sec": 2344,
  "uptime_seconds": 10502,
  "ws_connections": 0,
  "ws_subscriptions": 0
}
```

| Field              | Type     | Description                         |
| ------------------ | -------- | ----------------------------------- |
| `status`           | `string` | Always `"ok"` if service is running |
| `network`          | `string` | `"mainnet"` or `"testnet"`          |
| `block`            | `number` | Latest block number processed       |
| `actions_per_sec`  | `number` | Current throughput                  |
| `uptime_seconds`   | `number` | Seconds since service start         |
| `ws_connections`   | `number` | Active WebSocket connections        |
| `ws_subscriptions` | `number` | Active subscriptions                |

## GET /metrics

Full metrics in JSON format.

**Response:**

```json theme={null}
{
  "network": "mainnet",
  "uptime_seconds": 10502,
  "current_block": 70874222,
  "actions_total": 24620887,
  "actions_per_sec": 2344,
  "events_broadcast": 16392548,
  "events_dropped": 8228339,
  "broadcaster_hit_rate_pct": 100.0,
  "broadcaster_hits": 24620592,
  "broadcaster_misses": 295,
  "bytes_received_mb": 5919.85,
  "frames_total": 81566,
  "decompress_ok": 81372,
  "decompress_fail": 194,
  "ws_connections": 1,
  "ws_subscriptions": 1,
  "ws_auth_connections": 1
}
```

| Field                         | Description                                             |
| ----------------------------- | ------------------------------------------------------- |
| `actions_total`               | Total actions decoded since startup                     |
| `actions_per_sec`             | Current action throughput                               |
| `events_broadcast`            | Events delivered to subscribers                         |
| `events_dropped`              | Events with no matching subscribers                     |
| `broadcaster_hit_rate_pct`    | Percentage of events matched to at least one subscriber |
| `broadcaster_hits` / `misses` | Raw match/miss counts                                   |
| `bytes_received_mb`           | Total data received from upstream                       |
| `frames_total`                | Total protocol frames processed                         |
| `decompress_ok` / `fail`      | Frame decompression success/failure counts              |

## GET /metrics/prometheus

Prometheus-compatible text format. All metrics prefixed with `hl_gossip_`.

**Response:**

```
hl_gossip_actions_per_sec 2344
hl_gossip_actions_total 24621058
hl_gossip_current_block 70874223
hl_gossip_uptime_seconds 10502
hl_gossip_ws_connections 0
hl_gossip_ws_subscriptions 0
```

**Prometheus scrape config:**

```yaml theme={null}
scrape_configs:
  - job_name: 'hypernode-mainnet'
    static_configs:
      - targets: ['localhost:8080']
    metrics_path: '/metrics/prometheus'
    scrape_interval: 15s
```
