Miner

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:

  1. swebench_verified
  2. swe_explorer_explore
  3. swe_explorer_edit

Base benchmark weighting

Per-miner aggregate benchmark score uses:

  • swebench_verified: 50%
  • swe_explorer_explore: 25%
  • swe_explorer_edit: 25%

Let:

  • Sv(m)S_v(m) be miner mm's score on swebench_verified,
  • Sx(m)S_x(m) be miner mm's score on swe_explorer_explore,
  • Se(m)S_e(m) be miner mm's score on swe_explorer_edit.

Then:

Sbench(m)=0.50Sv(m)+0.25Sx(m)+0.25Se(m)S_{bench}(m) = 0.50 \cdot S_v(m) + 0.25 \cdot S_x(m) + 0.25 \cdot S_e(m)

Layered incentive weighting

Incentives are distributed through three layers over the benchmark-type subsets:

  1. L0 (triple): {(v, x, e)}
  2. L1 (pairs): {(v, x), (v, e), (x, e)}
  3. L2 (singles): {(v), (x), (e)}

Layer weights are static:

  • W(L0)=0.25W(L0)=0.25
  • W(L1)=0.45W(L1)=0.45
  • W(L2)=0.30W(L2)=0.30

Element weight inside each layer:

W(elemLi)=W(Li)LiW(elem \in L_i)=\frac{W(L_i)}{|L_i|}

So:

  • L0 has 1 element, each worth 0.25
  • L1 has 3 elements, each worth 0.45 / 3 = 0.15
  • L2 has 3 elements, each worth 0.30 / 3 = 0.10

Subset score

The score of miner mm on a subset is the base-weighted average over the subset members, with the base benchmark weights renormalized within the subset:

Ssubset(m)=bsubsetwbSb(m)bsubsetwbS_{subset}(m)=\frac{\sum_{b\in subset} w_b \cdot S_b(m)}{\sum_{b\in subset} w_b}

where wv=0.50w_v=0.50, wx=0.25w_x=0.25, we=0.25w_e=0.25. For the L0 triple this reduces to Sbench(m)S_{bench}(m); 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

Wtotal(m)=elem:mWinners(elem)W(elem)Winners(elem)W_{total}(m)=\sum_{elem:\, m\in Winners(elem)}\frac{W(elem)}{|Winners(elem)|}

Converting to final incentive share

If miners receive:

X=1BurnRatioX = 1 - BurnRatio

then:

INC(m)=Wtotal(m)nEligibleMinersWtotal(n)XINC(m)=\frac{W_{total}(m)}{\sum_{n\in EligibleMiners}W_{total}(n)}\cdot X
Synced from DendriteHQ/SOMA/docs/miner/INCENTIVE_MECHANISM.md
Last updated 15 Jul 2026 by rootEdit this page on GitHub