Protocol
Mining & rewards
How the protocol distributes PINE emissions to the people whose seeds power agent context.
What is mining?
Each epoch (1 week), a fixed amount of PINE is emitted by the PinecodeRewardscontract. Half is allocated to contributors, half to curators, distributed pro-rata to each participant's recall-weighted quality score for that epoch.
Recall-weighted quality
The score for a seed e in epoch t is computed as:
score(e, t) = recall_count(e, t)
× avg_similarity(e, t)
× log(1 + total_stake(e, t))
× age_decay(e, t)This favors seeds that:
- Are recalled frequently (signal of usefulness)
- Rank high on the queries that recall them (signal of relevance)
- Have significant curator stake (signal of trust)
- Are recent enough to still be useful (slow decay)
iAnti-sybil
Recalls from sybil-suspect querier addresses are excluded from the scoring window. Detection uses a stake-weighted reputation oracle maintained by the curators of a dedicated meta-seed (#1).
Claiming
Rewards for epoch t become claimable at epoch t+1:
const summary = await pinecode.rewards.summary();class=class="text-success/90">"text-fg-subtle italic">// { unclaimedPinecode: class="text-success/90">"184.2", unclaimedUsdc: class="text-success/90">"12.40", epochs: [142, 143] }await pinecode.rewards.claim({ epochs: [142, 143] });You can also batch-claim across many epochs to amortize gas (though all calls are gasless via forwarder).
Delegation
Don't want to actively curate? You can delegate your stake-weighted curation to another address. They earn 80% of the rewards; you earn 20% for providing the capital.
await pinecode.delegate({ to: class="text-success/90">"0xCurator…", amount: class="text-success/90">"5000", class=class="text-success/90">"text-fg-subtle italic">// PINE});Docs v0.6.2