Incentive Mechanism
This document explains the current miner incentive mechanism.
This document explains the current miner incentive mechanism.
Benchmark types
The system uses three benchmark types:
swebench_verifiedswe_explorer_exploreswe_explorer_edit
Base benchmark weighting
Per-miner aggregate benchmark score uses:
swebench_verified: 50%swe_explorer_explore: 25%swe_explorer_edit: 25%
Let:
- be miner 's score on
swebench_verified, - be miner 's score on
swe_explorer_explore, - be miner 's score on
swe_explorer_edit.
Then:
Layered incentive weighting
Incentives are distributed through three layers over the benchmark-type subsets:
- L0 (triple):
{(v, x, e)} - L1 (pairs):
{(v, x), (v, e), (x, e)} - L2 (singles):
{(v), (x), (e)}
Layer weights are static:
Element weight inside each layer:
So:
L0has 1 element, each worth0.25L1has 3 elements, each worth0.45 / 3 = 0.15L2has 3 elements, each worth0.30 / 3 = 0.10
Subset score
The score of miner on a subset is the base-weighted average over the subset members, with the base benchmark weights renormalized within the subset:
where , , . For the L0 triple this reduces to ; for singles it is the raw per-benchmark score. A miner with no score on any member benchmark does not compete on that element.
For each element, winner(s) are miner(s) with the top score on that subset. If tied, element weight is split evenly.
Miner raw incentive weight
Converting to final incentive share
If miners receive:
then:
docs/miner/INCENTIVE_MECHANISM.md