Skip to content

feat: King of the Hill 85/10/5 payouts - #435

Open
kenobijon wants to merge 18 commits into
mainfrom
testnet
Open

feat: King of the Hill 85/10/5 payouts#435
kenobijon wants to merge 18 commits into
mainfrom
testnet

Conversation

@kenobijon

@kenobijon kenobijon commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Updating to a King of the Hill competition where continuous payouts are made to the king + the past 2 kings for each modality, 85/10/5.

Tested on testnet

  • Full 85/10/5 chain on image, video, and audio (three distinct kings each).
  • Validator weight builder against the live kings payload: slot weights match 40%×85/10/5 and 4%×85/10/5, unused generator share burns, vector sums to 1.0.
  • Dethrone margin: +0.009 keeps the king, +0.010 transfers; sitting king restored.
  • Unit tests for residual rollup and burn.

Note

High Risk
Validator weight setting now depends on the kings API and hotkey UID resolution; misconfiguration or stale cache directly shifts TAO across miners and burn.

Overview
Release 5.0.0 replaces round-based discriminator escrow payouts with King of the Hill: validators pull kings from GET /api/v1/validator/kings, cache kings.json on restart, and set weights via new build_koth_weights (40/40/4/16 lanes; each modality lane split 85/10/5 across current and two prior distinct hotkeys; generators still share 16% by score; missing kings burn). Hardcoded modality escrow SS58 addresses are removed from the validator path.

Docs and README now describe one counted discriminator submission per hotkey (any single modality; extra modalities need another hotkey), KOTH dethrone/defense rules, and simplified validator setup (Validating-New.md folded into a shorter Validating.md).

Miner push flow gains --upload-endpoint, --skip-chain, and capped --max-retries for chain registration; duplicate-hash 409 uploads count as success; failed or skipped chain writes no longer fail the push after a good upload; gascli d push propagates exit codes; push_model uses os._exit to avoid hanging on Bittensor websockets.

Ops: validator.config.js prefers explicit NETUID and forwards EPOCH_LENGTH. Unit tests cover KOTH weight math and push retry behavior.

Reviewed by Cursor Bugbot for commit 00b6b25. Bugbot is set up for automated code reviews on this repo. Configure here.

dylanuys and others added 9 commits September 2, 2026 16:00
Stop sending 84% of weights to escrow UIDs. Validators now fetch /current-kings and pay the reigning miner per modality, with last-known fallback if the API is down.

Co-authored-by: Cursor <cursoragent@cursor.com>
Testnet 169 is not the hardcoded 379 mapping, and short epochs are needed to verify KOTH weights.

Co-authored-by: Cursor <cursoragent@cursor.com>
Bittensor metagraph threads kept the process alive, and a 409 with
--skip-chain was treated as failure. Cap chain retries and _exit.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the current king dominant while paying the previous two distinct
crowned hotkeys a residual so near-ties are not winner-take-lane.

Co-authored-by: Cursor <cursoragent@cursor.com>
Paying last-3 kings 85/10/5 is a breaking incentive change, so spec_version
should move with a major rather than sit on 4.10.0.

Co-authored-by: Cursor <cursoragent@cursor.com>
feat: set discriminator weights on current KOTH kings
@kenobijon kenobijon changed the title feat: set discriminator weights on current KOTH kings feat: King of the Hill 85/10/5 payouts Sep 4, 2026
dylanuys and others added 5 commits September 4, 2026 15:10
Chain registration is optional. A failed or skipped commitment should
not fail the CLI after the model is already in R2 and queued for exam.

Co-authored-by: Cursor <cursoragent@cursor.com>
Miners get one image, one video, and one audio slot per registration.
Exam failures do not count and a new round does not refill the slot.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep a single Validating.md setup runbook and stop implying the full-benchmark score is TAO emissions.

Co-authored-by: Cursor <cursoragent@cursor.com>
Match the tighter upload cap: a key cannot land one model per lane.

Co-authored-by: Cursor <cursoragent@cursor.com>
fix: succeed discriminator push after upload; one submission per hotkey
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants