---
title: "Get Weight Salt"
method: GET
path: "/v1/validator/weight-salt"
tags: ["validator"]
---

# Get Weight Salt

`GET /v1/validator/weight-salt`

Per-epoch base standings for the weight setter (ORO-1704).

Serves the epoch-pinned base standings (top designation + finisher tail)
snapshotted once per epoch, so every honest validator in the epoch builds the
identical base vector regardless of tick phase. (The ORO-1649 watermark
decoy-overlay was removed — we rely on the chain's anti-copy features.)

## Response `200`

Successful Response

- WeightSaltResponse — Per-epoch base standings for the weight setter (ORO-1704). ``epoch_standings`` is the epoch-pinned base vector input: the validator builds its base vector from it so all honest validators in the epoch stay byte-identical. **None** means it couldn't be resolved this tick (e.g. chain unreadable); the validator retains its last-good weights. ``active`` / ``eligible`` / ``weight_overlay`` are **deprecated** — the ORO-1649 watermark decoy-overlay was removed. They are retained (empty / False) only for response-shape compatibility with older clients and will be dropped in a coordinated SDK + validator release.
  - `active` boolean — Deprecated (watermark removed)
  - `eligible` boolean — Deprecated (watermark removed)
  - `epoch_index` integer, required — Epoch index the standings are keyed to (stable within it)
  - `weight_overlay` object — Deprecated (watermark removed); always empty
  - `epoch_standings` EpochStandings — Base weight standings pinned to one epoch (ORO-1704). Served so every honest validator in the same epoch builds the identical base vector regardless of when in the epoch its weight-setter ticks — closing the race→epoch-boundary desync that would otherwise fracture the honest consensus (and, once the watermark is live, its >50% majority). Snapshotted once per epoch (frozen at the epoch's first request), so a race completing mid-epoch is not reflected until the next boundary — the old winner keeps its share during the adoption lag (ORO-1704 decision D2).
    - `top_hotkey` string, nullable, required — Admin-designated top miner hotkey as of this epoch; None burns the top share
    - `t_burn` number, required — Burn share for the base vector this epoch
    - `finishers` PinnedFinisher[] — Most-recent-completed-race finishers as of this epoch (dereg-protection tail)
      - `miner_hotkey` string, required — Finisher's miner hotkey (ss58)
      - `agent_version_id` string, required — Finisher's agent version id (rank tie-break)
      - `race_score` number, required — Finisher's race score (ranking key)

---

[API](https://skmtc.dev/oroagents/apis/oro-api.md) · [All operations](https://skmtc.dev/oroagents/apis/oro-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/oroagents/oro-api/revisions/38ef86138115/schema)
