Skip to main content

Live Bittensor · Subnet 21 · updated daily

SN21 leaderboard

Results for 7 October 2026 · 118 miners scored of 256 registered

Full record
Verify this day

Every score for 7 October 2026 is in a signed daily receipt anchored on chain. Re-check it yourself with the public verifier from the SN21 repo:

python scripts/verify_day.py --url https://hope-bittensor-api.onrender.com --day 2026-10-07

It checks the signature, the hash chain and the on-chain anchor, and recomputes every score. Add --miner <your hotkey> to check only yours.

Miners earning

20 / 134

paid today, out of everyone scored

Needed to earn

+0.017

edge of place 20, the last paid miner

Top miner

UID 218

+0.033 edge · 0.592 accuracy

Scores settled

2,548,388

predictions checked against real outcomes

Leaderboard

134 miners · ranked by edge over the field

Place UID Edge accuracy below Result
1 218 +0.033 0.592 Earning · Elite
— 75 +0.033 0.584 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
2 171 +0.029 0.580 Earning · Elite
3 44 +0.029 0.586 Earning · Elite
— 72 +0.029 0.602 Duplicate model
Why?
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 95 · 5ELkgF...dgWt
4 1 +0.028 0.578 Earning · Elite
5 19 +0.025 0.588 Earning · Elite
6 234 +0.025 0.577 Earning · Elite
7 199 +0.024 0.581 Earning · Elite
8 148 +0.023 0.590 Earning · Elite
9 110 +0.023 0.575 Earning · Elite
10 245 +0.022 0.587 Earning · Competitive
11 196 +0.022 0.583 Earning · Competitive
12 160 +0.021 0.572 Earning · Competitive
13 211 +0.021 0.577 Earning · Competitive
14 163 +0.019 0.568 Earning · Competitive
15 124 +0.019 0.570 Earning · Competitive
16 194 +0.019 0.579 Earning · Competitive
17 32 +0.018 0.567 Earning · Competitive
— 95 +0.017 0.619 Duplicate model
Why?
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once.
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 72 · 5HErWb...Vafn
18 188 +0.017 0.567 Earning · Competitive
19 9 +0.017 0.576 Earning · Competitive
20 125 +0.017 0.577 Earning · Competitive
Earning cut · place 20 · edge +0.017
— 42 +0.017 0.575 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 254 +0.017 0.567 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 250 +0.016 0.577 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 19 · 5G3pK6...shLV
— 141 +0.015 0.621 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 177 +0.015 0.570 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 186 +0.013 0.562 Duplicate model
Why?
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once.
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 149 · 5F7NuC...FfDr
— 133 +0.013 0.561 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 241 +0.012 0.573 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 19 · 5G3pK6...shLV
— 117 +0.012 0.567 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 154 +0.011 0.560 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 13 +0.011 0.600 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 225 +0.011 0.571 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 3 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 186 · 5HZ6xj...MMgj
— 6 +0.010 0.559 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 9 · 5H8xxV...KdLK
— 28 +0.010 0.559 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 42 · 5FWwba...3mdw
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 6 · 5GgSss...9P3D
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 6 · 5GgSss...9P3D
— 200 +0.010 0.559 Duplicate model
Why?
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 6 · 5GgSss...9P3D
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 6 · 5GgSss...9P3D
— 114 +0.010 0.559 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 4 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 200 · 5GsntL...yTwB
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 6 · 5GgSss...9P3D
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 6 · 5GgSss...9P3D
— 142 +0.010 0.559 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 3 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 110 · 5GCYWv...goaT
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 6 · 5GgSss...9P3D
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 6 · 5GgSss...9P3D
— 224 +0.010 0.559 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 42 · 5FWwba...3mdw
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 6 · 5GgSss...9P3D
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 6 · 5GgSss...9P3D
— 202 +0.010 0.559 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 9 · 5H8xxV...KdLK
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 6 · 5GgSss...9P3D
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 6 · 5GgSss...9P3D
— 178 +0.010 0.560 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 162 +0.010 0.603 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 222 +0.009 0.611 Tenure
Why?
  • Tenure Scored on 6 of the 7 days needed. Scores still count and the model keeps running — tenure accrues by showing up.
— 136 +0.008 0.556 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 19 · 5G3pK6...shLV
— 149 +0.007 0.556 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 3 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 186 · 5HZ6xj...MMgj
— 58 +0.007 0.593 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 50 +0.007 0.556 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 188 · 5GNxWv...6z3G
— 134 +0.007 0.564 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 4 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 200 · 5GsntL...yTwB
— 89 +0.005 0.552 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 75 · 5FkH3C...nPHC
— 230 +0.004 0.551 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 244 +0.003 0.552 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 48 +0.002 0.550 Below the alpha hold
Why?
  • Below the alpha hold Held 7.7 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 88 +0.001 0.548 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 75 · 5FkH3C...nPHC
— 205 +0.001 0.558 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 43 −0.000 0.547 Duplicate model
Why?
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once.
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 249 · 5DVFGX...ffqU
— 249 −0.001 0.546 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 4 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 43 · 5GbCae...25xi
— 140 −0.002 0.552 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 76 −0.002 0.545 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 4 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 43 · 5GbCae...25xi
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once.
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 249 · 5DVFGX...ffqU
— 92 −0.002 0.556 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 66 −0.002 0.563 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 214 −0.002 0.545 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 75 · 5FkH3C...nPHC
— 60 −0.002 0.545 Duplicate model
Why?
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once.
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 249 · 5DVFGX...ffqU
— 39 −0.003 0.546 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 115 −0.004 0.576 Tenure
Why?
  • Tenure Scored on 3 of the 7 days needed. Scores still count and the model keeps running — tenure accrues by showing up.
— 198 −0.005 0.542 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 75 · 5FkH3C...nPHC
— 5 −0.007 0.540 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 53 −0.008 0.556 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 4 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 43 · 5GbCae...25xi
— 63 −0.010 0.542 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 120 −0.011 0.543 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 164 −0.012 0.534 Below the alpha hold
Why?
  • Below the alpha hold Held 0.1 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 26 −0.029 0.529 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 42 · 5FWwba...3mdw
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 90 · 5Fbi74...jaRS
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 140 · 5C5kbk...BZGi
— 238 −0.029 0.529 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 9 · 5H8xxV...KdLK
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 90 · 5Fbi74...jaRS
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 140 · 5C5kbk...BZGi
— 69 −0.030 0.515 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 90 −0.031 0.526 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 3 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 44 · 5Evf2A...voUX
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once.
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 140 · 5C5kbk...BZGi
— 251 −0.032 0.526 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 9 · 5H8xxV...KdLK
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 90 · 5Fbi74...jaRS
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 140 · 5C5kbk...BZGi
— 103 −0.032 0.514 Below the earning cut
Why?
  • Below the earning cut Ranked below the earning cut. The score stands and the model keeps running — the paid set is a fixed size, so placing outside it is not a penalty and carries nothing forward.
— 132 −0.033 0.510 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 4 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 200 · 5GsntL...yTwB
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 203 · 5Dz8LD...nxjh
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as · 5C812d...BBuc
— 203 −0.033 0.510 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 230 · 5EAcGJ...PdZq
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once.
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as · 5C812d...BBuc
— 208 −0.034 0.509 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 230 · 5EAcGJ...PdZq
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once.
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as · 5C812d...BBuc
— 41 −0.037 0.506 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 2 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 160 · 5CyUYf...yyYU
— 2 −0.043 0.511 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 82 −0.046 0.496 Below the alpha hold
Why?
  • Below the alpha hold Held 0.8 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 33 −0.055 0.496 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 181 −0.056 0.485 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 230 · 5EAcGJ...PdZq
— 192 −0.057 0.360 Tenure
Why?
  • Tenure Scored on 3 of the 7 days needed. Scores still count and the model keeps running — tenure accrues by showing up.
— 137 −0.070 0.477 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 138 −0.078 0.461 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 19 · 5G3pK6...shLV
— 100 −0.080 0.459 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 230 · 5EAcGJ...PdZq
— 105 −0.081 0.464 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 30 −0.190 0.348 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 42 · 5FWwba...3mdw
— 25 −0.190 0.348 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 188 · 5GNxWv...6z3G
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 30 · 5EgxN9...xCSx
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 30 · 5EgxN9...xCSx
— 143 −0.190 0.348 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 188 · 5GNxWv...6z3G
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 30 · 5EgxN9...xCSx
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 30 · 5EgxN9...xCSx
— 240 −0.190 0.348 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 42 · 5FWwba...3mdw
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 30 · 5EgxN9...xCSx
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 30 · 5EgxN9...xCSx
— 130 −0.190 0.348 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 42 · 5FWwba...3mdw
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 30 · 5EgxN9...xCSx
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 30 · 5EgxN9...xCSx
— 104 −0.190 0.348 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 9 · 5H8xxV...KdLK
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 30 · 5EgxN9...xCSx
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 30 · 5EgxN9...xCSx
— 112 −0.192 0.346 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 188 · 5GNxWv...6z3G
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 163 · 5GWMRX...ALTz
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 163 · 5GWMRX...ALTz
— 34 −0.198 0.341 Duplicate model
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 9 · 5H8xxV...KdLK
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 50 · 5EhW5L...YAxF
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 50 · 5EhW5L...YAxF
— 91 −0.275 0.237 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 204 −0.374 0.162 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 92 · 5GZ1yJ...1PrF
— 31 −0.385 0.149 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 188 · 5GNxWv...6z3G
— 247 −0.388 0.144 Below the alpha hold
Why?
  • Below the alpha hold Held 0.0 alpha against the 1,000 required today. Zero weight for the day; the standing and every score stand, and the seat pays again from the next run on which the hold is met.
— 167 −0.417 0.114 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 42 · 5FWwba...3mdw
— 242 −0.417 0.114 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 42 · 5FWwba...3mdw
— 55 −0.423 0.111 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 92 · 5GZ1yJ...1PrF
— 0 −0.454 0.075 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 188 · 5GNxWv...6z3G
— 189 −0.455 0.074 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 3 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 110 · 5GCYWv...goaT
— 12 −0.455 0.074 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 188 · 5GNxWv...6z3G
— 40 −0.455 0.074 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 188 · 5GNxWv...6z3G
— 252 −0.455 0.074 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 188 · 5GNxWv...6z3G
— 54 −0.473 0.062 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 92 · 5GZ1yJ...1PrF
— 14 −0.486 0.046 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 5 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 92 · 5GZ1yJ...1PrF
— 17 −0.499 0.029 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 42 · 5FWwba...3mdw
— 8 −0.499 0.029 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 9 · 5H8xxV...KdLK
— 243 −0.499 0.029 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 9 · 5H8xxV...KdLK
— 231 −0.499 0.029 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 10 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 9 · 5H8xxV...KdLK
— 239 −0.500 0.028 One seat per coldkey
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 3 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 44 · 5Evf2A...voUX
— 70 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 237 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 56 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 108 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 216 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 61 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 20 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 169 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 45 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 152 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 118 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 170 −0.526 0.000 Below baseline
Why?
  • One seat per coldkey One coldkey holds one earning seat. This owner runs 13 hotkeys on the subnet; the one shown holds the seat today. seat held by UID 125 · 5G3vwv...iZDK
— 113 0.616 Building evidence
Why?
  • Placement floor Evidence 8.0 of the 50 needed for placement. Every settled entry adds to it; the row gets a standing and a rank once the floor is reached, and earns nothing before that.
— 246 0.616 Building evidence
Why?
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once. The seat is held by the hotkey shown. earns as UID 113 · 5EWyYu...cNmf
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 113 · 5EWyYu...cNmf
  • Placement floor Evidence 8.0 of the 50 needed for placement. Every settled entry adds to it; the row gets a standing and a rank once the floor is reached, and earns nothing before that.
— 52 0.613 Building evidence
Why?
  • Duplicate model This model is already earning under an earlier submission. Identical models pay once.
  • Same model lineage Same behaviour lineage as an earlier submission; the earliest in the group earns. earns as UID 218 · 5FC1bH...wLh7
  • Placement floor Evidence 27.0 of the 50 needed for placement. Every settled entry adds to it; the row gets a standing and a rank once the floor is reached, and earns nothing before that.
— 107 0.584 Building evidence
Why?
  • Placement floor Evidence 8.0 of the 50 needed for placement. Every settled entry adds to it; the row gets a standing and a rank once the floor is reached, and earns nothing before that.

Click a UID to open that miner's page. Edge is the average lead over the field on the same changes — it ranks and pays; accuracy is shown beneath it.

About this data

Daily stream — live. Each day's settled standings are published here as they mature, with outcomes measured at 7, 14 and 28 days. Earlier weekly epochs remain in the Epochs tab as the historical record. About the daily stream →

Prediction performance by change type. For every kind of account change: the best model's score, the current winner's beside it, and the score broken into direction, size, range and goal. Performance tab → Full page →

More on SN21: daily numbers, score distribution, history, method, API and performance

Pulse

Pulse · Operational snapshot

Headline numbers from the latest published day. SN21 publishes a new day of settled results every day; these tiles describe the most recent one. The leaders are in the leaderboard at the top of the page.

Pool size

118

miners

Trailing 4 epochs awaiting more closes

118/256 passed the participation gate

Baseline beat rate

100.0%

of pool

Trailing 4 epochs awaiting more closes

Share above the conditional-prior baseline

Elite tier

11

60.0% of emissions

Trailing 4 epochs awaiting more closes

EMA ≥ baseline + 1σ this epoch

Cohort context · this epoch vs all published

  • Pool size118→ 63rd of 98 published (range 15–141)
  • Baseline beat rate100.0%→ highest beat rate yet (range 76.0%–100.0%)
  • Top score0.621→ 29th of 98 epochs with histograms

Tier band · Pool vs emissions

Where the qualifying pool sits — and where the rewards flow.

Live

Share of pool

measured

Share of emissions

policy constant

Elite

EMA ≥ baseline + 1σ

pool 9.3% · emit 60.0%

Competitive

beats baseline

pool 18.6% · emit 30.0%

Participating

passed gate

pool 19.5% · emit 10.0%

Tier rail · Emission shares + epoch context

4 metrics

Competitive

22

0.30 emissions share

Participating

23

0.10 emissions share

Multiplier

1.00×

Search

Formula

1.2.1

@ b0bc708

Find yourself on chain

Opens taostats

Enter your numeric UID (the slot you registered into on netuid 21). This opens SN21's miner table on taostats with your UID copied: paste it into the table's search box to see your hotkey, stake, incentive and emission.

Don't know your UID? Paste your hotkey (SS58 address starting with 5). It is copied for you: paste it into the search box on SN21's miner table to find your UID.

Per IA D-05, no per-miner identifier ever leaves this server. The browser navigates straight to taostats.

Prediction performance

For every kind of account change since the rich-data baseline (2026-08-20): the best model, the current winner beside it, and each score broken into its parts — 2,548,388 settled scores from 155 models.

Full page →

Where the number comes from

48 days, 2026-08-20 to 2026-10-06
  1. 1. Captured1,495,333raw changes per day, before any rule
  2. 2. Measurable episodes38,315since 20 Aug, after the published rules and 72-hour clustering
  3. 3. Served to models11,928of 17,138 eligible; 3,580 held out for validation, 151 on our own accounts
  4. 4. Settled & scored11,391this page — served changes old enough to have settled
  5. 5. Predictions scored2,548,388every model predicts every change

Each stage is deliberate. The page counts the fourth: a change reaches it about 15 days after it happened, once its first outcome window has closed and settled.

9 groups covering 169 change types. Open a row to see the types inside it.

Budget change — when a daily budget was raised or lowered 3,192 Reliable UID 95 6 types

Across 3,192 such changes (330,104 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

down 775 Reliable UID 52
down large 757 Reliable UID 222
flat 209 Roughly right UID 204
unknown 4 Too early —
up 609 Roughly right UID 91
up large 838 Roughly right UID 72
Bid strategy switch — when the bid strategy was switched from one type to another 69 Reliable UID 72 6 types

Across 69 such changes (7,045 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

maximize conversions → maximize conversion value 3 Too early —
maximize conversions → target spend 9 Reliable UID 63
target spend → maximize conversions 5 Roughly right UID 5
switched to Maximize Conversion Value 13 Roughly right UID 9
switched to Maximize Conversions 21 Reliable UID 204
unknown → target spend 18 Reliable UID 72
Bid target change — when a bid-strategy target value changed (e.g. Target CPA $60 → $50) 347 Roughly right UID 17 13 types

Across 347 such changes (35,751 model predictions), a prediction here is roughly right. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

ad-group bid change 14 Reliable UID 198
maximize conversion value · down 42 Roughly right UID 251
maximize conversion value · down large 3 Too early —
maximize conversion value · flat 9 Not reliable UID 124
switched to Maximize Conversion Value 2 Too early —
maximize conversion value · up 38 Roughly right UID 91
maximize conversion value · up large 13 Roughly right UID 204
maximize conversions · down 62 Roughly right UID 17
maximize conversions · down large 23 Reliable UID 72
maximize conversions · flat 11 Roughly right UID 112
switched to Maximize Conversions 13 Roughly right UID 196
maximize conversions · up 95 Reliable UID 31
maximize conversions · up large 22 Roughly right UID 141
Negative keyword add — when negative keywords were added 1,791 Reliable — 15 types

Across 1,791 such changes (184,222 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

negative keyword add 327 Reliable —
broad · 1 28 Roughly right UID 58
broad · 11+ 10 Roughly right UID 204
broad · 2-10 27 Roughly right UID 90
exact · 1 300 Reliable UID 52
exact · 11+ 164 Reliable UID 115
exact · 2-10 435 Reliable UID 72
mixed · 11+ 96 Reliable UID 242
mixed · 2-10 114 Roughly right UID 222
phrase · 1 87 Reliable UID 141
phrase · 11+ 56 Reliable UID 55
phrase · 2-10 130 Reliable UID 242
unknown · 1 7 Reliable —
unknown · 11+ 4 Too early —
unknown · 2-10 6 Reliable UID 125
Targeting change — when keywords, audiences, placements or other targeting were changed 1,773 Reliable UID 113 13 types

Across 1,773 such changes (182,585 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

audience change 40 Reliable UID 72
bid on a keyword / audience / placement 282 Reliable —
targeting criteria change 470 Reliable UID 52
criterion enable 54 Reliable UID 55
criterion pause 266 Reliable UID 238
criterion remove 20 Reliable UID 162
criterion url change 3 Too early —
demographic change 18 Reliable UID 42
geo change 25 Reliable UID 141
keyword add 354 Reliable —
keyword remove 132 Reliable —
negative keyword remove 50 Reliable UID 239
schedule change 59 Reliable UID 13
Campaign and ad-group pause / enable — when an existing campaign or ad group was paused or turned back on 543 Reliable UID 52 3 types

Across 543 such changes (55,977 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Roughly right Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

adgroup enable 14 Reliable UID 14
adgroup pause 65 Reliable UID 95
campaign pause 464 Reliable UID 52
Ads & assets — when an ad or asset was created, edited, paused or removed inside an existing campaign 474 Reliable UID 115 6 types

Across 474 such changes (48,379 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

ad create 33 Reliable UID 167
ad edit 42 Reliable UID 90
ad enable 3 Too early —
ad pause 61 Reliable UID 55
ad remove 7 Reliable UID 194
asset change 328 Reliable UID 115
Combined changes — when several kinds of change happened together 2,886 Reliable UID 113 104 types

Across 2,886 such changes (296,301 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

adgroup bid change + 1 more 12 Roughly right UID 90
adgroup bid change + 2 more 4 Too early —
adgroup bid change + 3 more 1 Too early —
adgroup change + 1 more 1 Too early —
adgroup change + 2 more 3 Too early —
adgroup enable + 1 more 3 Too early —
adgroup enable + 2 more 5 Reliable UID 9
adgroup enable + 3 more 1 Too early —
adgroup pause + 1 more 48 Reliable UID 252
adgroup pause + 10 more 1 Too early —
adgroup pause + 11 more 1 Too early —
adgroup pause + 2 more 35 Roughly right UID 162
adgroup pause + 3 more 32 Reliable UID 31
adgroup pause + 4 more 28 Reliable UID 95
adgroup pause + 5 more 30 Reliable UID 95
adgroup pause + 6 more 10 Reliable UID 19
adgroup pause + 7 more 5 Too early UID 245
adgroup pause + 8 more 15 Reliable UID 55
adgroup pause + 9 more 2 Too early —
adgroup target change + 1 more 1 Too early —
ad create + 1 more 98 Roughly right UID 52
ad create + 10 more 2 Too early —
ad create + 11 more 1 Too early —
ad create + 12 more 1 Too early —
ad create + 13 more 1 Too early —
ad create + 2 more 66 Roughly right UID 12
ad create + 3 more 33 Roughly right UID 55
ad create + 4 more 26 Reliable UID 204
ad create + 5 more 15 Roughly right UID 72
ad create + 6 more 9 Roughly right UID 245
ad create + 7 more 9 Reliable UID 9
ad create + 8 more 6 Reliable UID 92
ad create + 9 more 2 Too early —
ad edit + 1 more 26 Reliable UID 90
ad edit + 2 more 3 Too early —
ad edit + 3 more 2 Too early —
ad edit + 6 more 1 Too early —
ad enable + 1 more 11 Roughly right UID 55
ad enable + 3 more 1 Too early —
ad pause + 1 more 6 Reliable UID 125
ad pause + 2 more 1 Too early —
asset change + 1 more 20 Reliable UID 91
asset change + 2 more 5 Reliable UID 124
asset change + 3 more 1 Too early —
audience change + 1 more 9 Roughly right UID 177
audience change + 2 more 2 Too early —
audience change + 3 more 1 Too early —
bid strategy change + 1 more 7 Reliable —
bid strategy change + 2 more 12 Reliable UID 242
bid strategy change + 3 more 3 Too early —
bid strategy change + 4 more 2 Too early —
bid strategy change + 6 more 1 Too early —
bid strategy change + 9 more 1 Too early —
budget change + 1 more 558 Reliable UID 113
budget change + 10 more 3 Too early —
budget change + 2 more 123 Reliable —
budget change + 3 more 62 Reliable UID 58
budget change + 4 more 55 Reliable —
budget change + 5 more 24 Reliable UID 55
budget change + 6 more 13 Reliable UID 242
budget change + 7 more 6 Reliable UID 9
budget change + 8 more 5 Reliable UID 234
budget change + 9 more 2 Too early —
campaign pause + 1 more 114 Reliable UID 141
campaign pause + 10 more 1 Too early —
campaign pause + 2 more 7 Reliable UID 9
campaign pause + 3 more 10 Reliable UID 72
campaign pause + 4 more 1 Too early —
campaign pause + 5 more 1 Too early —
campaign pause + 6 more 2 Too early —
campaign pause + 7 more 1 Too early —
criterion bid change + 1 more 21 Reliable UID 12
criterion bid change + 2 more 1 Too early —
criterion change + 1 more 74 Reliable UID 91
criterion change + 2 more 4 Too early —
criterion change + 3 more 1 Too early —
criterion enable + 1 more 20 Reliable UID 55
criterion enable + 2 more 2 Too early —
criterion pause + 1 more 14 Roughly right UID 204
criterion remove + 1 more 3 Too early —
keyword add + 1 more 312 Reliable —
keyword add + 2 more 200 Reliable UID 12
keyword add + 3 more 101 Reliable —
keyword add + 4 more 53 Reliable UID 13
keyword add + 5 more 12 Reliable UID 31
keyword add + 6 more 4 Too early —
keyword add + 7 more 1 Too early —
keyword remove + 1 more 33 Reliable UID 162
keyword remove + 2 more 8 Reliable UID 234
keyword remove + 3 more 4 Too early —
negative keyword add + 1 more 221 Reliable —
negative keyword add + 2 more 46 Reliable UID 53
negative keyword add + 3 more 15 Reliable UID 238
negative keyword add + 4 more 1 Too early —
negative keyword add + 5 more 2 Too early —
target value change + 1 more 73 Reliable UID 141
target value change + 11 more 1 Too early —
target value change + 2 more 35 Roughly right UID 141
target value change + 3 more 7 Reliable UID 31
target value change + 4 more 3 Too early —
target value change + 5 more 1 Too early —
target value change + 6 more 1 Too early —
target value change + 7 more 1 Too early —
target value change + 8 more 1 Too early —
Other changes — when other changes 116 Reliable UID 17 3 types

Across 116 such changes (11,908 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

adgroup bid change 60 Roughly right UID 13
adgroup change 55 Reliable UID 17
adgroup remove 1 Too early —

9 groups covering 161 change types. Open a row to see the types inside it.

Budget change — when a daily budget was raised or lowered 2,610 Roughly right UID 72 6 types

Across 2,610 such changes (269,104 model predictions), a prediction here is roughly right. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

down 616 Roughly right UID 91
down large 609 Roughly right UID 72
flat 164 Roughly right UID 95
unknown 4 Too early —
up 485 Roughly right UID 91
up large 732 Roughly right UID 91
Bid strategy switch — when the bid strategy was switched from one type to another 58 Reliable UID 72 6 types

Across 58 such changes (5,894 model predictions), a prediction here is reliable. What that's made of:

  • Roughly right Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

maximize conversions → maximize conversion value 3 Too early —
maximize conversions → target spend 10 Reliable UID 19
target spend → maximize conversions 5 Roughly right UID 5
switched to Maximize Conversion Value 9 Roughly right UID 72
switched to Maximize Conversions 15 Reliable UID 66
unknown → target spend 16 Reliable UID 72
Bid target change — when a bid-strategy target value changed (e.g. Target CPA $60 → $50) 296 Roughly right UID 218 13 types

Across 296 such changes (30,434 model predictions), a prediction here is roughly right. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

ad-group bid change 14 Roughly right UID 138
maximize conversion value · down 33 Roughly right UID 242
maximize conversion value · down large 3 Too early —
maximize conversion value · flat 9 Roughly right UID 196
switched to Maximize Conversion Value 2 Too early —
maximize conversion value · up 36 Roughly right UID 245
maximize conversion value · up large 14 Reliable UID 14
maximize conversions · down 55 Roughly right UID 242
maximize conversions · down large 20 Roughly right UID 72
maximize conversions · flat 10 Reliable UID 242
switched to Maximize Conversions 13 Roughly right UID 196
maximize conversions · up 70 Reliable UID 12
maximize conversions · up large 17 Roughly right UID 148
Negative keyword add — when negative keywords were added 1,452 Roughly right — 15 types

Across 1,452 such changes (148,767 model predictions), a prediction here is roughly right. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

negative keyword add 330 Roughly right UID 245
broad · 1 21 Roughly right UID 242
broad · 11+ 9 Roughly right UID 178
broad · 2-10 22 Roughly right UID 90
exact · 1 220 Roughly right UID 13
exact · 11+ 124 Reliable —
exact · 2-10 344 Roughly right UID 91
mixed · 11+ 80 Reliable UID 242
mixed · 2-10 77 Roughly right UID 242
phrase · 1 67 Reliable UID 91
phrase · 11+ 49 Reliable UID 167
phrase · 2-10 98 Reliable UID 242
unknown · 1 6 Roughly right UID 39
unknown · 11+ 2 Too early —
unknown · 2-10 3 Too early —
Targeting change — when keywords, audiences, placements or other targeting were changed 1,445 Reliable — 13 types

Across 1,445 such changes (148,450 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

audience change 31 Reliable UID 26
bid on a keyword / audience / placement 224 Reliable UID 91
targeting criteria change 348 Reliable UID 19
criterion enable 48 Roughly right —
criterion pause 207 Reliable UID 162
criterion remove 15 Reliable UID 1
criterion url change 3 Too early —
demographic change 15 Reliable UID 31
geo change 20 Reliable UID 9
keyword add 321 Reliable —
keyword remove 120 Roughly right —
negative keyword remove 41 Roughly right —
schedule change 52 Reliable UID 72
Campaign and ad-group pause / enable — when an existing campaign or ad group was paused or turned back on 504 Reliable UID 13 3 types

Across 504 such changes (51,834 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

adgroup enable 11 Roughly right UID 1
adgroup pause 57 Roughly right UID 242
campaign pause 436 Reliable UID 13
Ads & assets — when an ad or asset was created, edited, paused or removed inside an existing campaign 398 Reliable UID 204 6 types

Across 398 such changes (40,410 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

ad create 32 Roughly right UID 218
ad edit 33 Reliable UID 177
ad enable 2 Too early —
ad pause 50 Reliable UID 55
ad remove 9 Roughly right UID 117
asset change 272 Roughly right UID 242
Combined changes — when several kinds of change happened together 2,376 Reliable — 96 types

Across 2,376 such changes (242,751 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

adgroup bid change + 1 more 8 Roughly right UID 55
adgroup bid change + 2 more 3 Too early —
adgroup bid change + 3 more 1 Too early —
adgroup change + 1 more 1 Too early —
adgroup change + 2 more 3 Too early —
adgroup enable + 1 more 2 Too early —
adgroup enable + 2 more 3 Too early —
adgroup pause + 1 more 38 Roughly right UID 90
adgroup pause + 10 more 1 Too early —
adgroup pause + 2 more 26 Roughly right —
adgroup pause + 3 more 29 Reliable —
adgroup pause + 4 more 24 Roughly right UID 160
adgroup pause + 5 more 25 Roughly right UID 14
adgroup pause + 6 more 8 Roughly right UID 19
adgroup pause + 7 more 5 Too early UID 171
adgroup pause + 8 more 13 Roughly right UID 55
adgroup pause + 9 more 2 Too early —
adgroup target change + 1 more 1 Too early —
ad create + 1 more 75 Roughly right UID 58
ad create + 10 more 2 Too early —
ad create + 12 more 1 Too early —
ad create + 2 more 54 Roughly right —
ad create + 3 more 31 Roughly right UID 251
ad create + 4 more 20 Reliable UID 72
ad create + 5 more 11 Roughly right UID 19
ad create + 6 more 8 Roughly right UID 117
ad create + 7 more 6 Roughly right UID 50
ad create + 8 more 3 Too early —
ad create + 9 more 1 Too early —
ad edit + 1 more 22 Roughly right UID 211
ad edit + 2 more 3 Too early —
ad edit + 3 more 2 Too early —
ad edit + 6 more 1 Too early —
ad enable + 1 more 11 Roughly right UID 2
ad enable + 3 more 1 Too early —
ad pause + 1 more 5 Not reliable —
ad pause + 2 more 1 Too early —
asset change + 1 more 16 Roughly right UID 247
asset change + 2 more 6 Roughly right —
audience change + 1 more 8 Reliable UID 199
audience change + 2 more 2 Too early —
audience change + 3 more 1 Too early —
bid strategy change + 1 more 5 Roughly right —
bid strategy change + 2 more 9 Reliable UID 19
bid strategy change + 3 more 2 Too early —
bid strategy change + 4 more 1 Too early —
bid strategy change + 6 more 1 Too early —
bid strategy change + 9 more 1 Too early —
budget change + 1 more 440 Roughly right UID 58
budget change + 10 more 2 Too early —
budget change + 2 more 102 Reliable UID 72
budget change + 3 more 48 Roughly right UID 91
budget change + 4 more 38 Roughly right —
budget change + 5 more 22 Reliable UID 55
budget change + 6 more 12 Roughly right UID 242
budget change + 7 more 5 Reliable UID 124
budget change + 8 more 5 Reliable UID 44
budget change + 9 more 1 Too early —
campaign pause + 1 more 114 Roughly right UID 14
campaign pause + 10 more 1 Too early —
campaign pause + 2 more 8 Reliable UID 225
campaign pause + 3 more 9 Reliable UID 55
campaign pause + 4 more 1 Too early —
campaign pause + 5 more 2 Too early —
campaign pause + 6 more 2 Too early —
campaign pause + 7 more 1 Too early —
criterion bid change + 1 more 14 Reliable UID 12
criterion bid change + 2 more 1 Too early —
criterion change + 1 more 52 Reliable UID 91
criterion change + 2 more 3 Too early —
criterion enable + 1 more 15 Reliable UID 55
criterion enable + 2 more 2 Too early —
criterion pause + 1 more 12 Roughly right UID 72
criterion remove + 1 more 1 Too early —
keyword add + 1 more 267 Reliable —
keyword add + 2 more 171 Reliable —
keyword add + 3 more 89 Reliable —
keyword add + 4 more 52 Reliable UID 231
keyword add + 5 more 12 Reliable UID 31
keyword add + 6 more 2 Too early —
keyword add + 7 more 1 Too early —
keyword remove + 1 more 33 Reliable UID 31
keyword remove + 2 more 8 Reliable —
keyword remove + 3 more 4 Too early —
negative keyword add + 1 more 180 Reliable —
negative keyword add + 2 more 35 Roughly right —
negative keyword add + 3 more 12 Reliable —
negative keyword add + 4 more 1 Too early —
negative keyword add + 5 more 2 Too early —
target value change + 1 more 51 Roughly right —
target value change + 11 more 1 Too early —
target value change + 2 more 27 Roughly right UID 242
target value change + 3 more 7 Reliable UID 117
target value change + 4 more 3 Too early —
target value change + 6 more 1 Too early —
target value change + 8 more 1 Too early —
Other changes — when other changes 93 Reliable UID 17 3 types

Across 93 such changes (9,505 model predictions), a prediction here is reliable. What that's made of:

  • Reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

adgroup bid change 48 Roughly right UID 91
adgroup change 44 Reliable UID 17
adgroup remove 1 Too early —

9 groups covering 133 change types. Open a row to see the types inside it.

Budget change — when a daily budget was raised or lowered 1,524 Roughly right UID 19 6 types

Across 1,524 such changes (159,020 model predictions), a prediction here is roughly right. What that's made of:

  • Roughly right Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

down 331 Roughly right UID 19
down large 409 Roughly right UID 218
flat 77 Roughly right —
unknown 4 Too early —
up 230 Roughly right UID 19
up large 473 Roughly right UID 218
Bid strategy switch — when the bid strategy was switched from one type to another 16 Roughly right UID 241 5 types

Across 16 such changes (1,621 model predictions), a prediction here is roughly right. What that's made of:

  • Not reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

maximize conversions → maximize conversion value 1 Too early —
target spend → maximize conversions 2 Too early —
switched to Maximize Conversion Value 1 Too early —
switched to Maximize Conversions 4 Too early —
unknown → target spend 8 Reliable UID 241
Bid target change — when a bid-strategy target value changed (e.g. Target CPA $60 → $50) 131 Roughly right — 13 types

Across 131 such changes (13,667 model predictions), a prediction here is roughly right. What that's made of:

  • Roughly right Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

ad-group bid change 14 Roughly right UID 254
maximize conversion value · down 10 Reliable —
maximize conversion value · down large 2 Too early —
maximize conversion value · flat 6 Roughly right UID 244
switched to Maximize Conversion Value 2 Too early —
maximize conversion value · up 16 Roughly right UID 245
maximize conversion value · up large 4 Too early —
maximize conversions · down 24 Roughly right UID 14
maximize conversions · down large 9 Roughly right UID 154
maximize conversions · flat 6 Reliable UID 230
switched to Maximize Conversions 13 Roughly right UID 196
maximize conversions · up 16 Reliable UID 8
maximize conversions · up large 9 Roughly right UID 8
Negative keyword add — when negative keywords were added 565 Roughly right UID 218 15 types

Across 565 such changes (58,755 model predictions), a prediction here is roughly right. What that's made of:

  • Roughly right Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

negative keyword add 332 Roughly right UID 218
broad · 1 8 Reliable UID 75
broad · 11+ 2 Too early —
broad · 2-10 9 Roughly right UID 50
exact · 1 42 Roughly right UID 167
exact · 11+ 26 Reliable UID 19
exact · 2-10 71 Roughly right UID 44
mixed · 11+ 15 Reliable UID 19
mixed · 2-10 14 Reliable UID 55
phrase · 1 17 Reliable UID 14
phrase · 11+ 6 Roughly right UID 75
phrase · 2-10 17 Roughly right UID 242
unknown · 1 3 Too early —
unknown · 11+ 2 Too early —
unknown · 2-10 1 Too early —
Targeting change — when keywords, audiences, placements or other targeting were changed 593 Roughly right — 13 types

Across 593 such changes (62,105 model predictions), a prediction here is roughly right. What that's made of:

  • Roughly right Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

audience change 10 Not reliable UID 0
bid on a keyword / audience / placement 83 Roughly right UID 250
targeting criteria change 109 Roughly right UID 241
criterion enable 31 Reliable —
criterion pause 92 Roughly right UID 239
criterion remove 6 Reliable UID 1
criterion url change 2 Too early —
demographic change 4 Too early —
geo change 4 Too early —
keyword add 149 Roughly right —
keyword remove 55 Roughly right —
negative keyword remove 13 Roughly right UID 26
schedule change 35 Reliable UID 19
Campaign and ad-group pause / enable — when an existing campaign or ad group was paused or turned back on 305 Roughly right — 3 types

Across 305 such changes (31,658 model predictions), a prediction here is roughly right. What that's made of:

  • Not reliable Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

adgroup enable 4 Too early —
adgroup pause 22 Reliable UID 117
campaign pause 279 Roughly right —
Ads & assets — when an ad or asset was created, edited, paused or removed inside an existing campaign 77 Roughly right UID 218 6 types

Across 77 such changes (7,884 model predictions), a prediction here is roughly right. What that's made of:

  • Roughly right Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

ad create 17 Reliable UID 218
ad edit 2 Too early —
ad enable 1 Too early —
ad pause 18 Roughly right UID 19
ad remove 6 Roughly right UID 154
asset change 33 Roughly right UID 0
Combined changes — when several kinds of change happened together 1,076 Roughly right UID 218 69 types

Across 1,076 such changes (110,839 model predictions), a prediction here is roughly right. What that's made of:

  • Roughly right Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

adgroup bid change + 1 more 1 Too early —
adgroup bid change + 3 more 1 Too early —
adgroup change + 1 more 1 Too early —
adgroup change + 2 more 3 Too early —
adgroup enable + 1 more 1 Too early —
adgroup enable + 2 more 2 Too early —
adgroup pause + 1 more 13 Roughly right UID 136
adgroup pause + 2 more 10 Not reliable UID 75
adgroup pause + 3 more 19 Reliable —
adgroup pause + 4 more 8 Not reliable UID 244
adgroup pause + 5 more 12 Not reliable UID 19
adgroup pause + 6 more 5 Too early UID 34
adgroup pause + 7 more 1 Too early —
adgroup pause + 8 more 4 Too early —
adgroup pause + 9 more 2 Too early —
adgroup target change + 1 more 1 Too early —
ad create + 1 more 15 Roughly right UID 8
ad create + 2 more 19 Not reliable UID 177
ad create + 3 more 13 Not reliable UID 244
ad create + 4 more 5 Reliable UID 254
ad create + 5 more 3 Too early —
ad create + 6 more 4 Too early —
ad create + 7 more 3 Too early —
ad create + 8 more 2 Too early —
ad edit + 1 more 4 Too early —
ad enable + 1 more 6 Roughly right UID 154
ad enable + 3 more 1 Too early —
ad pause + 2 more 1 Too early —
asset change + 1 more 3 Too early —
asset change + 2 more 3 Too early —
audience change + 1 more 2 Too early —
audience change + 2 more 1 Too early —
audience change + 3 more 1 Too early —
bid strategy change + 1 more 1 Too early —
bid strategy change + 2 more 9 Reliable UID 202
bid strategy change + 3 more 2 Too early —
bid strategy change + 9 more 1 Too early —
budget change + 1 more 204 Roughly right UID 245
budget change + 2 more 52 Roughly right UID 148
budget change + 3 more 20 Roughly right UID 55
budget change + 4 more 29 Roughly right UID 19
budget change + 5 more 14 Roughly right UID 225
budget change + 6 more 5 Too early UID 186
budget change + 7 more 4 Too early —
budget change + 8 more 3 Too early —
campaign pause + 1 more 96 Roughly right UID 234
campaign pause + 2 more 3 Too early —
campaign pause + 3 more 4 Too early —
campaign pause + 5 more 2 Too early —
criterion bid change + 1 more 8 Not reliable UID 205
criterion change + 1 more 10 Roughly right UID 241
criterion change + 2 more 1 Too early —
criterion enable + 1 more 5 Reliable UID 76
keyword add + 1 more 134 Roughly right —
keyword add + 2 more 71 Reliable UID 6
keyword add + 3 more 54 Reliable UID 194
keyword add + 4 more 30 Roughly right UID 231
keyword add + 5 more 8 Reliable UID 148
keyword add + 6 more 1 Too early —
keyword remove + 1 more 6 Reliable UID 199
keyword remove + 2 more 4 Too early —
keyword remove + 3 more 5 Reliable UID 1
negative keyword add + 1 more 67 Roughly right —
negative keyword add + 2 more 17 Roughly right UID 75
negative keyword add + 3 more 2 Too early —
target value change + 1 more 22 Roughly right UID 0
target value change + 2 more 7 Roughly right UID 75
target value change + 3 more 3 Too early —
target value change + 4 more 2 Too early —
Other changes — when other changes 33 Reliable UID 26 3 types

Across 33 such changes (3,418 model predictions), a prediction here is reliable. What that's made of:

  • Roughly right Direction — called the change up or down correctly on the goal metric
  • Reliable Size — how close the predicted size of the effect was
  • Not reliable Range — how often the real result fell inside the predicted range
  • Not reliable Goal — how close on the goal number itself (CPA or ROAS)

Today's leaderboard #1 (UID 218) on this change type: Reliable.

Broken down by kind:

adgroup bid change 10 Roughly right UID 14
adgroup change 22 Reliable UID 26
adgroup remove 1 Too early —

A row reads Too early until at least 500 of its changes have settled. Open any row for the score breakdown and the best model.

Today's slice — accuracy by change type on BD-2026-10-07

Accuracy by change type

Change type Predictions Field average Winning model
Budget change 5115 0.597 0.614
Combined changes 3512 0.578 0.610
Negative keyword add 2333 0.568 0.596
Campaign pause 319 0.554 0.586
Criterion pause 320 0.653 0.639
Keyword removal 320 0.559 0.591
Asset change 212 0.592 0.652
Targeting criteria change 213 0.709 0.806
Criterion bid change 212 0.582 0.682
Bid target change 106 0.564 0.666
Bid strategy switch 106 0.629 0.691
Adgroup change 107 0.543 0.623
Keyword add 319 0.460 0.529
Adgroup bid change 106 0.548 0.610
Criterion remove 106 0.729 0.858
Change type Predictions Field average Winning model
Budget change 2575 0.547 0.559
Combined changes 3708 0.557 0.585
Negative keyword add 2060 0.539 0.589
Campaign pause 1133 0.615 0.690
Criterion pause 515 0.571 0.558
Keyword removal 412 0.563 0.635
Asset change 309 0.402 0.367
Targeting criteria change 206 0.596 0.566
Criterion bid change 206 0.523 0.605
Adgroup change 103 0.676 0.739
Change type Predictions Field average Winning model
Budget change 2970 0.543 0.556
Combined changes 2376 0.516 0.546
Negative keyword add 2574 0.533 0.552
Campaign pause 3663 0.537 0.547
Criterion enable 1980 0.574 0.578
Criterion pause 1089 0.499 0.471
Keyword removal 891 0.498 0.541
Schedule change 1485 0.690 0.675
Asset change 594 0.529 0.583
Targeting criteria change 693 0.547 0.573
Criterion bid change 198 0.512 0.661
Bid target change 396 0.535 0.510
Bid strategy switch 396 0.498 0.515
Adgroup change 198 0.515 0.734
Adgroup bid change 198 0.565 0.521
Adgroup pause 99 0.559 0.609

Scores are on the same 0-to-1 scale as the leaderboard standing. "Winning model" is the current leaderboard #1's average on that change type; "—" means it has no settled predictions there yet.

Score distribution

Distribution · Score histogram + tier breakdown

Per IA D-05 the public surface publishes the shape of the score distribution — not per-miner identifiers. Bins are k-anonymity-collapsed to a 5-miner floor; the chain remains the source of truth for raw per-UID data.

Results · BD-2026-10-07

Search ×1.00

Plain-language summary

20 of 134 miners are earning today.

Earning today

20/134

15% of the field

Not earning

114

most: a second hotkey on one owner

Top score

0.621

leader of the pool

Score range

0.160

Wide range

Why the other 114 are not earning

  • 48 a second hotkey on one owner
  • 28 running a model that already earns
  • 18 holding less alpha than the published hold
  • 15 ranked below the earning cut
  • 3 still building a track record
  • 2 below the paying positions

Each row below names the rule that applied to it, and who holds the seat where that matters. Scores are unaffected — they are facts either way.

Verifiable against chain

Signed and chain-anchored

2026-10-07

Every published day is attested and hash-chained to the day before, and the feed's rolling root is committed on chain — so one anchor covers the whole history, not a single block span.

Reproduce locally

python scripts/verify_day.py --url https://hope-bittensor-api.onrender.com --day 2026-10-07

Recomputes every score from the day's signed receipt. Prints "ok": true when they reproduce, and names the entry that disagrees when they do not.

Scoring · v1.2.1 · commit b0bc70889e

The per-miner leaderboard is at the top of this page.

Score range · 118 miners scored

Aggregate summary

Scores landed between 0.462 and 0.621 — top score 0.621

Range collapses to a 17.6-point window

mean · p25 0.464
median 0.551
p75 0.570
top 0.621

0.454

0.629

Axis is auto-zoomed to the data range so percentile positions are legible even when the underlying histogram bins are coarse. Score cuts shown above are exact; positioning is proportional.

Score distribution for SN21 epoch BD-2026-10-07 (Search) Histogram of 118 qualifying miners across 17 score bins. Y-axis is miner count; x-axis is epoch-weighted score in the range 0.00 to 1.00. Each bin contains at least 5 miners per the k-anonymity rule. Equivalent data table follows below the chart. 0 25 50 75 100 Score 0.00–0.05: 6 miners Score 0.05–0.10: 6 miners Score 0.10–0.25: 7 miners Score 0.25–0.30: 0 miners Score 0.30–0.40: 9 miners Score 0.40–0.45: 0 miners Score 0.45–0.50: 7 miners Score 0.50–0.55: 24 miners Score 0.55–0.60: 53 miners Score 0.60–0.65: 6 miners Score 0.65–0.70: 0 miners Score 0.70–0.75: 0 miners Score 0.75–0.80: 0 miners Score 0.80–0.85: 0 miners Score 0.85–0.90: 0 miners Score 0.90–0.95: 0 miners Score 0.95–1.00: 0 miners 0.00 0.05 0.10 0.25 0.30 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00 Score (epoch-weighted mean) Miners
Summary: mean 0.46, median 0.55, p25 0.46, p75 0.57, max 0.62. Bins are collapsed to satisfy a 5-miner minimum (k-anonymity floor) per IA D-05. The on-chain block range and scoring formula commit below let you reconcile every number to the validator output.
Score range Miner count Share of pool
0.00–0.05 6 5.1%
0.05–0.10 6 5.1%
0.10–0.25 7 5.9%
0.25–0.30 0 0.0%
0.30–0.40 9 7.6%
0.40–0.45 0 0.0%
0.45–0.50 7 5.9%
0.50–0.55 24 20.3%
0.55–0.60 53 44.9%
0.60–0.65 6 5.1%
0.65–0.70 0 0.0%
0.70–0.75 0 0.0%
0.75–0.80 0 0.0%
0.80–0.85 0 0.0%
0.85–0.90 0 0.0%
0.90–0.95 0 0.0%
0.95–1.00 0 0.0%

Position bands · Find where you sit

Score cuts at every quartile — match your score to a band.

5 bands

Band Score cut Tier hint What it means
Top score
0.621 Elite · 60% Highest score achieved by any miner in this epoch’s qualifying pool.
Top 25%
0.570 Elite · 60% Scoring at or above this puts you in the top quartile of the pool.
Mean score
0.464 — Average across the qualifying pool — useful proxy for the conditional-prior baseline.
Median
0.551 Competitive · 30% Half the pool scored at or above this, half below.
Bottom 25%
0.462 Participating · 10% Scoring at or below this puts you in the bottom quartile of the pool.

Tier hints are heuristic from this epoch's percentile cuts. Actual tier membership depends on EMA across multiple epochs vs the conditional-prior baseline + 1σ. See Methodology.

Score → band calculator

Heuristic

Enter a value between 0.000 and 1.000. Defaults shown match this epoch's distribution.

p25 0.462 · p50 0.551 · p75 0.570 · max 0.621

Band placement

Enter a score above

—

—

Headline numbers

Pool size
118
Baseline beat rate
100.0%
Epoch type
Search multiplier 1×
Registered UIDs
256

118/256 passed the gate.

Tier distribution

Tier Count Share of pool Share of emissions
Elite 11 9.3% 60.0%
Competitive 22 18.6% 30.0%
Participating 23 19.5% 10.0%

Elite-tier floor: met this epoch.

Accuracy by change type moved to the Performance tab — the cumulative picture with best model, current winner and score parts.

What does the score mean?

The score is an accuracy score from 0 to 1, where 1 is a perfect prediction. A score of 0.6 means the model is about 60% of the way to perfect. It is not the percentage of predictions that were correct.

It blends four things:

  • Closeness (half the score). The model gives a low, middle and high estimate for each change. This measures how close that range sat to what actually happened.
  • Honest confidence (a fifth). When the model claims to be sure, the real result should land inside its range about as often as it claims. Sounding confident and being wrong costs score.
  • Direction (15%). Did it call the move up or down correctly.
  • The account's own goal (15%). A lead business is judged on leads, a shop on sales value — the model has to get the metric that account actually cares about.

The leaderboard number is not a single day: it is the average of a model's recent predictions, where recent work counts more than old (a score twelve days old counts half). Predictions are locked before any outcome exists, and a day's first score settles about 15 days after its basket — 7 days of outcomes plus a settling week so late conversions count.

Mining? Look up your own scores by hotkey — per-day entries, win/lose by change type, and the signed receipt that lets you reproduce every number.

On-chain record

Block range
0–0
Scoring formula version
1.2.1 @ b0bc708
Validator output snapshot
2026-10-07T08:47:35.205Z
Chain fetch
2026-10-07T08:47:35.027Z
Horizon set
7d, 14d, 28d

Published epochs

Epochs · Frozen records, newest first

Every closed epoch publishes as a permanent record at /predictions/epochs/[release_key]. Published rows are immutable per IA D-13; corrections appear as separate rows, not edits.

63 epoch slots · newest first · 22 have corrections

  1. BD-2026-10-07 Search · campaign-level pool 118 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ b0bc708
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  2. BD-2026-10-06 Search · campaign-level pool 118 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ b0bc708
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  3. BD-2026-10-05 Search · campaign-level pool 115 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  4. BD-2026-10-04 Search · campaign-level pool 128 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  5. BD-2026-10-03 Search · campaign-level pool 128 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  6. BD-2026-10-02 Search · campaign-level pool 127 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  7. BD-2026-10-01 Search · campaign-level pool 123 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  8. BD-2026-09-30 Search · campaign-level pool 125 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  9. BD-2026-09-29 Search · campaign-level pool 125 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  10. BD-2026-09-28 Search · campaign-level pool 125 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  11. BD-2026-09-27 Search · campaign-level pool 127 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  12. BD-2026-09-26 Search · campaign-level pool 128 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  13. BD-2026-09-25 Search · campaign-level pool 130 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  14. BD-2026-09-24 Search · campaign-level pool 130 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  15. BD-2026-09-23 Search · campaign-level pool 130 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  16. BD-2026-09-22 Search · campaign-level pool 130 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6b24e0c
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  17. BD-2026-09-21-COR-1 Search · campaign-level Corrected · 1 prior pool 128 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 85ed3c8
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  18. BD-2026-09-20-COR-1 Search · campaign-level Corrected · 1 prior pool 129 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 46a35dd
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  19. BD-2026-09-19 Search · campaign-level pool 130 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 725fdf7
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  20. BD-2026-09-18 Search · campaign-level pool 131 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 098210f
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  21. BD-2026-09-17 Search · campaign-level pool 132 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 098210f
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  22. BD-2026-09-16 Search · campaign-level pool 132 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 2375996
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  23. BD-2026-09-15 Search · campaign-level pool 132 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 8b68ec4
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  24. BD-2026-09-14-COR-1 Search · campaign-level Corrected · 1 prior pool 132 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 884ae5e
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  25. BD-2026-09-13-COR-2 Search · campaign-level Corrected · 2 prior pool 128 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 73b7de0
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  26. BD-2026-09-12-COR-2 Search · campaign-level Corrected · 2 prior pool 128 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 73b7de0
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  27. BD-2026-09-11 Search · campaign-level pool 130 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 57c792d
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  28. BD-2026-09-10 Search · campaign-level pool 129 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 63faef0
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  29. BD-2026-09-09 Search · campaign-level pool 127 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 2c4b5b7
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  30. BD-2026-09-08-COR-1 Search · campaign-level Corrected · 1 prior pool 125 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 2c4b5b7
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  31. BD-2026-09-07-COR-1 Search · campaign-level Corrected · 1 prior pool 122 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 0c0b23a
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  32. BD-2026-09-06-COR-1 Search · campaign-level Corrected · 1 prior pool 122 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 861fdfc
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  33. BD-2026-09-05-COR-2 Search · campaign-level Corrected · 2 prior pool 122 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ b845527
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  34. BD-2026-09-04 Search · campaign-level pool 121 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 75618fb
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  35. BD-2026-09-03 Search · campaign-level pool 118 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 799f4b3
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  36. BD-2026-09-02-COR-2 Search · campaign-level Corrected · 2 prior pool 118 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 799f4b3
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  37. BD-2026-09-01 Search · campaign-level pool 118 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6450130
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  38. BD-2026-08-31-COR-2 Search · campaign-level Corrected · 2 prior pool 119 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 6450130
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  39. BD-2026-08-30-COR-1 Search · campaign-level Corrected · 1 prior pool 122 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ f678ad5
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  40. BD-2026-08-29-COR-5 Search · campaign-level Corrected · 5 prior pool 123 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 9e0da63
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  41. BD-2026-08-28-COR-1 Search · campaign-level Corrected · 1 prior pool 124 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 28d9e84
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  42. BD-2026-08-27 Search · campaign-level pool 124 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 121aba4
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  43. BD-2026-08-26 Search · campaign-level pool 114 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ a83e1d6
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  44. BD-2026-08-25 Search · campaign-level pool 118 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 4fb93af
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  45. BD-2026-08-24 Search · campaign-level pool 120 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 8463fde
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  46. BD-2026-08-23 Search · campaign-level pool 120 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 84e001d
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  47. BD-2026-08-22-COR-1 Search · campaign-level Corrected · 1 prior pool 120 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 01d18d9
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  48. BD-2026-08-21 Search · campaign-level pool 117 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ 5e39f21
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  49. BD-2026-08-20 Search · campaign-level pool 117 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ b279dca
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  50. BD-2026-08-18-COR-1 Search · campaign-level Corrected · 1 prior pool 112 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ b279dca
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  51. WR-2026-W32-PUB-E1 Search · campaign-level pool 15 beat 93.3% —
    Block range
    8414168–8813452
    Formula
    1.2.1 @ 7cdf7d7
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  52. WR-2026-W31-PUB-E1 Search · campaign-level pool 141 beat 100.0% —
    Block range
    8414168–8763768
    Formula
    1.2.1 @ 7cdf7d7
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  53. WR-2026-W30-PUB-E1 Search · campaign-level pool 125 beat 100.0% —
    Block range
    8414168–8713416
    Formula
    1.2.1 @ 7cdf7d7
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  54. WR-2026-W29-PUB-E1 Search · campaign-level pool 120 beat 100.0% —
    Block range
    8414168–8662242
    Formula
    1.2.1 @ 7cdf7d7
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  55. WR-2026-W28-PUB-E1 Search · campaign-level pool 100 beat 100.0% —
    Block range
    8355702–8611981
    Formula
    1.2.1 @ 7cdf7d7
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  56. WR-2026-W27-PUB-E1-COR-1 Search · campaign-level Corrected · 1 prior pool 92 beat 100.0% —
    Block range
    0–0
    Formula
    1.2.1 @ c79e255
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  57. WR-2026-W26-PUB-E1-COR-1 Search · campaign-level Corrected · 1 prior pool 98 beat 100.0% —
    Block range
    8355702–8512403
    Formula
    1.2.1 @ 7cdf7d7
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  58. WR-2026-W25-PUB-E1 Search · campaign-level pool 88 beat 100.0% —
    Block range
    8355702–8461824
    Formula
    1.2.1 @ 7cdf7d7
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

  59. WR-2026-W24-PUB-E1-COR-1 Search · campaign-level Corrected · 1 prior pool 22 beat 100.0% —
    Block range
    8413094–8413096
    Formula
    1.2.1 @ 8cd3fdc
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  60. WR-2026-W21-RERUN-E1-COR-1 Search · campaign-level Corrected · 1 prior pool 26 beat 100.0% —
    Block range
    8219538–8363696
    Formula
    1.2.1 @ b8b77a9
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  61. WR-2026-W22-PUB-E1-COR-3 Search · campaign-level Corrected · 3 prior pool 54 beat 100.0% —
    Block range
    8219538–8313781
    Formula
    1.2.1 @ a04e036
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  62. WR-2026-W21-COR-3 Search · campaign-level Corrected · 3 prior pool 16 beat 100.0% —
    Block range
    8208900–8258914
    Formula
    1.2.1 @ 91705b5
    Multiplier
    1.00×
    Registered UIDs
    256

    Open permanent record

    Prior versions of this epoch slot (archived)

  63. WR-2026-W99-SMOKE-E1 Search · campaign-level pool 50 beat 76.0% —
    Block range
    4823091–4830290
    Formula
    1.2.1 @ a1b2c3d
    Multiplier
    1.00×
    Registered UIDs
    64

    Open permanent record

Methodology

Methodology · Verification map

Every number on this dashboard is reconcilable to on-chain validator output. The links and procedure below are the entry points for verifying any published epoch independently — the chain is the source of truth; this site mirrors the spec and surfaces aggregates.

Verification path · From spec to chain

3 steps

Step 1 / 3

Read the spec

Mirrored canonical SN21 documents on this site — whitepaper, reward mechanism, epoch structure.

Open whitepaper

Step 2 / 3

Run the verifier

scripts/verify_day.py checks any published day: the signed receipt, the hash chain, the on-chain anchor, and every score recomputed.

View on GitHub

Step 3 / 3

Cross-check the chain

Block range + scoring formula commit on every record lets you query the chain directly.

Latest record

Canonical SN21 documents (mirrored on this site)

Independent verification

scripts/verify_day.py in the SN21 repo fetches a day's signed receipt, checks its signature, the hash chain and the on-chain anchor, re-runs the open-source scoring code, and names the exact entry if anything disagrees.

bash verify_day.py
python scripts/verify_day.py \
    --url https://hope-bittensor-api.onrender.com \
    --day YYYY-MM-DD \
    --miner <your hotkey>   # optional: only your entries

No keys and no archive node needed: the receipt, proof and allocation audit are public. Add --expect-anchor with the root you read from the chain to close the loop yourself. Weekly epochs before 3 August 2026 use scripts/verify_epoch.py.

How to verify

Why aggregate-only · IA decision D-05

Per-miner emissions on SN21 are derivable from per-miner scores (Reward Mechanism §"Component 2"). Publishing per-UID scores publishes per-UID emissions — doxxing-adjacent, and a strong anti-coordination signal. The chain already exposes per-UID data to anyone who queries it. The dashboard publishes what the chain does not: the shape of the distribution, the size of the qualifying pool, the baseline-beat rate, and the scoring formula version that produced them.

API & schema

API & schema · Public read surface for researchers and validators

Every published epoch is reachable as JSON without a key. Drop the cURL line into a terminal, the Python snippet into a Jupyter cell, and you have the same data the dashboard is rendering — plus the provenance fields needed to reconcile against the chain.

Endpoints · Read-only, no auth, JSON

Latest published epoch

GET 200

https://adtao.io/api/sn21/latest.json

Returns { epoch: EpochReport | null } — the freshest published row, or null until the first publish click. 60-second cache.

All published epochs

GET 200

https://adtao.io/api/sn21/index.json

Returns { count, epochs: EpochReport[] } newest first. Canonical snake_case pydantic shape per the SN21 source-of-truth model. 60-second cache.

Total fields

21

Nullable

3

Aggregate-only

D-05

Schema version

v1.0

Quickstart · Read in 30 seconds

bash terminal
curl -sSL "https://adtao.io/api/sn21/latest.json" \
  -H "Accept: application/json" | jq '.epoch'

Returns the full EpochReport JSON. Pair with jq for pretty-printing.

python stdlib only
import json, urllib.request

URL = "https://adtao.io/api/sn21/latest.json"

with urllib.request.urlopen(URL) as r:
    resp = json.loads(r.read())

epoch = resp["epoch"]
if epoch is None:
    raise SystemExit("no published epochs yet")

print(f"Epoch        {epoch['epoch_id']}")
print(f"Pool size    {epoch['pool_size']} of {epoch['total_registered_uids']}")
print(f"Beat rate    {epoch['baseline_beat_rate']:.1%}")
print(f"Formula      {epoch['scoring_formula_version']} @ {epoch['scoring_formula_commit'][:7]}")
print(f"Blocks       {epoch['block_range_start']}-{epoch['block_range_end']}")

Zero dependencies — uses urllib from the stdlib.

Schema · 21 public fields

Pydantic source-of-truth

Field Type Units Semantic
epoch_id string release-key Canonical SN21 release key — BD-2026-08-20 in the daily stream, WR-2026-W21-PUB-E1 in the weekly era. Stable URL path component.
epoch_type string enum Standard epoch classification (Daily, Search, Discovery, …). Drives epoch_type_multiplier.
epoch_subtype string | null — Optional sub-classification when epoch_type alone is insufficient.
block_range_start integer block height Inclusive lower bound of the chain blocks aggregated for this epoch.
block_range_end integer block height Inclusive upper bound. Reconcile via a Bittensor archive node.
scoring_formula_version string semver Released aggregator wire-shape version. Pinned per epoch.
scoring_formula_commit string git sha (40) Commit hash of SN21-adtao at epoch close. Links to the SHA-pinned source.
horizon_set string[] duration Time horizons the scoring formula evaluated — 7d, 14d, 28d in the daily stream; 7d, 14d in the weekly era.
epoch_type_multiplier float × Emission multiplier applied to this epoch_type. Constants per epoch type.
pool_size integer miners Count of qualifying miners (passed the participation gate).
total_registered_uids integer miners Count of UIDs registered on netuid 21 at epoch close.
pool_size_below_distribution_floor boolean — True when pool_size < 15; histogram is omitted in that case.
baseline_beat_rate float ratio (0–1) Share of pool with EMA above the conditional-prior baseline.
score_distribution object | null histogram bin_edges, bin_counts, summary {mean, median, p25, p75, max}. Null when pool below floor.
tier_distribution object — elite, competitive, participating { count, share_of_pool, share_of_emissions } + elite_floor_met.
tier_split_active boolean — False when the pool collapses to a single undivided group.
emergency_intervention object — { triggered, type, outcome, summary_text }. Routine epochs read { triggered: false }.
validator_output_snapshot_timestamp string ISO 8601 UTC When the validator output was captured for this aggregation.
chain_fetch_timestamp string ISO 8601 UTC When the chain reading completed.
commentary_markdown string | null markdown Optional human commentary. Null on routine epochs.
aggregator_version integer — Wire-shape version of the aggregator. Bumped when the same input produces different output.

Full reproducibility · Re-run an epoch end-to-end

The dashboard reads from the JSON endpoint. The JSON came from the aggregator. The aggregator reads chain + validator output. The chain is the source of truth. Re-run the aggregator with the same inputs and you get the same JSON — or a discrepancy you can act on.

bash SN21-adtao
git clone https://github.com/ippcteam/SN21-adtao.git
cd SN21-adtao && pip install -e .
python scripts/verify_epoch.py \
    --epoch-id WR-2026-W21-PUB-E1 \
    --validator-hotkey 5GxVLdpRGZN... \
    --tier-2-base https://archive.example.io

Needs Python 3.11+ and a Bittensor archive node URL. The full score recomputation also needs the operator's truth-file (reveal blob per §9.A.2). Chain-integrity mode does not.

verify_epoch.py

Reading paths · One surface, four audiences

Pick your entry