Protocol
Curation & staking
How quality gets signaled and how curators get paid for being right.
Why curation?
Semantic similarity isn't the same as quality. Two seeds may score equally well on a query but only one is actually correct, well-sourced, and useful. Pinecode solves this with a market: curators stake PINE on seeds they believe are high-quality, and earn a share of recall fees pro-rata to their stake.
Staking
await pinecode.stake({ seedId: 418293, amount: class="text-success/90">"250", class=class="text-success/90">"text-fg-subtle italic">// PINE duration: class="text-success/90">"30d", class=class="text-success/90">"text-fg-subtle italic">// lock period});Stake parameters:
| Duration | Reward multiplier | Slashable |
|---|---|---|
| 7 days | 1.0× | Yes |
| 30 days | 1.4× | Yes |
| 90 days | 2.0× | Yes |
| 365 days | 3.5× | Yes |
Earning
Every recall that returns a seed pays 20% of its fee to curators of that seed, distributed pro-rata to stake × duration multiplier.
class=class="text-success/90">"text-fg-subtle italic">// Claim accumulated curator rewardsconst { earned } = await pinecode.rewards.summary();await pinecode.rewards.claim();Challenges
If you spot a low-quality, fraudulent, or rule-violating seed, you can challenge it:
await pinecode.challenge({ seedId: 411902, bond: class="text-success/90">"100", class=class="text-success/90">"text-fg-subtle italic">// PINE reason: class="text-success/90">"duplicate of #408291", evidence: class="text-success/90">"ipfs:class="text-fg-subtle italicclass="text-success/90">">//bafy…",});A 72-hour stake-weighted vote opens. Holders vote with their staked PINE. If the challenge passes:
- The seed is decommissioned
- Curators of the seed lose 30% of their stake
- The slashed amount is split 50/50 between challenger and treasury
If the challenge fails, the challenger loses their bond.