---
title: "Validator score breakdown"
method: GET
path: "/api/validators/{nodeID}/score-breakdown"
tags: ["Validators"]
---

# Validator score breakdown

`GET /api/validators/{nodeID}/score-breakdown`

## Request

- Base URL: `https://www.flarewatch.io`
- URL: `https://www.flarewatch.io/api/validators/{nodeID}/score-breakdown`
- Auth: none declared

Full FlareWatch score for one Flare validator: composite score, per-dimension breakdown, the inputs each dimension was computed from, algorithm version, and recent score history.

## Path parameters

- `nodeID` string, required

## Response `200`

Validator score + breakdown.

- object
  - `nodeID` string, required
  - `displayName` string
  - `flareWatchScore` number, required
  - `algorithmVersion` string
  - `scoreBreakdown` ScoreBreakdown: Per-dimension breakdown of the validator score (9 additive dimensions + penalties). See /methodology.
    - `uptime` ScoreDimension
      - `score` number, required: Points earned on this dimension.
      - `max` number, required: Maximum points for this dimension.
      - `label` string, required
      - `detail` string: Human-readable explanation of the value.
    - `netYield` ScoreDimension
      - `score` number, required: Points earned on this dimension.
      - `max` number, required: Maximum points for this dimension.
      - `label` string, required
      - `detail` string: Human-readable explanation of the value.
    - `fee` ScoreDimension
      - `score` number, required: Points earned on this dimension.
      - `max` number, required: Maximum points for this dimension.
      - `label` string, required
      - `detail` string: Human-readable explanation of the value.
    - `operatorQuality` ScoreDimension
      - `score` number, required: Points earned on this dimension.
      - `max` number, required: Maximum points for this dimension.
      - `label` string, required
      - `detail` string: Human-readable explanation of the value.
    - `mirrorParticipation` ScoreDimension
      - `score` number, required: Points earned on this dimension.
      - `max` number, required: Maximum points for this dimension.
      - `label` string, required
      - `detail` string: Human-readable explanation of the value.
    - `capacity` ScoreDimension
      - `score` number, required: Points earned on this dimension.
      - `max` number, required: Maximum points for this dimension.
      - `label` string, required
      - `detail` string: Human-readable explanation of the value.
    - `trust` ScoreDimension
      - `score` number, required: Points earned on this dimension.
      - `max` number, required: Maximum points for this dimension.
      - `label` string, required
      - `detail` string: Human-readable explanation of the value.
    - `delivery` ScoreDimension
      - `score` number, required: Points earned on this dimension.
      - `max` number, required: Maximum points for this dimension.
      - `label` string, required
      - `detail` string: Human-readable explanation of the value.
    - `timeRemaining` ScoreDimension
      - `score` number, required: Points earned on this dimension.
      - `max` number, required: Maximum points for this dimension.
      - `label` string, required
      - `detail` string: Human-readable explanation of the value.
    - `penalties` object[]
      - `label` string
      - `deduction` number
      - `detail` string
  - `scoreInputs` object
  - `scoreComputedAtMs` integer

## Other responses

- `400`: Invalid request (e.g. malformed NodeID).
- `429`: Rate limited. Back off and retry, or use the MCP server for heavy use.
- `503`: Data cache temporarily unavailable.

---

[API](https://skmtc.dev/flarewatch/apis/flarewatch-public-api.md) · [All operations](https://skmtc.dev/flarewatch/apis/flarewatch-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flarewatch/apis/flarewatch-public-api/revisions/890e7013afdb?raw)
