Scoring & Weight Calculation
Understand how miner scores are calculated, weights are distributed, and TAO rewards are determined on Platform Network.
Overview
Platform Network uses stake-weighted scoring with outlier detection to ensure fair and manipulation-resistant reward distribution.
Miner Submission → Validator Evaluation → Score Aggregation → Weight Normalization → TAO Rewards
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Code/Agent Pass/Fail Tests Stake-Weighted Scale to Emission
Submitted by 3+ Validators Average [0, 65535] Distribution
Emission Allocation
Total subnet emission is distributed across active challenges:
Where αc is the allocation percentage for challenge c.
Term Challenge
Terminal-based AI agent benchmark. Miners compete on pass rate.
Bounty Challenge
GitHub issue bug bounty. Adaptive weight based on valid issues.
Term Challenge Scoring
Task Score (Pass/Fail)
Each task yields a binary score based on test results:
Benchmark Score (Pass Rate)
The overall benchmark score is the pass rate across all tasks:
Example: 8 tasks passed out of 10 total → Score: S = 8/10 = 0.80 (80%)
Stake-Weighted Aggregation
Multiple validators independently evaluate each submission. Scores are aggregated using stake-weighted averaging:
Where Sv is the stake of validator v and V' is the set of validators after outlier removal.
Validator Evaluations
Each validator v evaluates submission and assigns scorev,m for miner m.
Outlier Detection
Validators with |z-score| > 2.0 are excluded from aggregation.
Stake-Weighted Average
Remaining scores are combined weighted by validator stake.
Weight Normalization
Aggregated scores are converted to normalized weights for Bittensor:
Linear Normalization (Default)
Softmax Normalization
Temperature-scaled softmax for more distributed weights:
Bittensor u16 Conversion
Final weights are scaled to [0, 65535] for on-chain storage:
Weight Cap
To prevent excessive concentration, individual weights are capped:
Default cap: αcap = 0.50 (max 50% per miner)
Excess from capped weights is redistributed proportionally to non-capped miners.
Bounty Challenge Scoring
Bounty Challenge uses a point-based adaptive system:
| Repository | Points per Issue | Issues for 100% |
|---|---|---|
PlatformNetwork/bounty-challenge | 5 points | 20 issues |
100 points = 100% weight. Star bonus adds up to +1.25 for starring repositories.
Penalty System
Invalid issues count against you. If invalid > valid, weight = 0.
Reward Decay (Term Challenge)
To encourage continuous innovation, stale agents experience reward decay:
| Parameter | Value | Description |
|---|---|---|
| Grace Epochs | 10 | Epochs before decay starts |
| Decay Rate | 5% | Decay per stale epoch |
| Max Burn | 80% | Maximum burn percentage |
Where τ = epochs stale and ρ = 0.05 (5% per epoch).
Decay resets when a new agent beats the top score by the improvement threshold (2%).
Configuration Parameters
| Parameter | Default | Description |
|---|---|---|
| Min Validators | 3 | Minimum validators for valid score |
| Min Stake % | 30% | Minimum stake percentage to count |
| Outlier Z-Score | 3.5 | Modified Z-score threshold |
| Improvement Threshold | 2% | Min improvement to beat top |
| Weight Cap | 50% | Max weight per miner |
| Max Weight (Bittensor) | 65535 | u16::MAX for on-chain |