Owner: @Thomas Lavaur
Reviewers: 🟢@David Rusu 🟢 @Mehmet 🔺@Álvaro Castro-Castilla 🟢@Marcin Pawlowski 🔺@Frederico Teixeira
Introduction
Nomos relies on multiple services, including the Data Availability and Blend Network - each operated by independent validator sets. For sustainability and fairness, these services must compensate service validators based on their participation. Validators first declare their participation through Service Declaration Protocol. The Service Reward Distribution Protocol enables deterministic, efficient, and verifiable reward distribution to validators based on their activity within each service.
Each service defines:
- The session length, a fixed number of blocks during which its validator set remains unchanged.
- The validator activity rule that distinguishes between active and inactive validators.
- The reward formula for distributing the session’s rewards at the end of the session.
This document describes the protocol's logic for deterministically distributing rewards through Mantle Transactions for services.
Overview
The protocol unfolds over three key phases, aligned with validator sessions:
- Service Activity Tracking (Session N+1): Service validators submit signed activity messages to attest to their participation of session N through a Mantle Transaction, including an activity message (see SDP_ACTIVE).
- Service Reward Derivation (End of Session N+1): Nodes compute each validator’s reward based on validated activity messages and the different service reward policies.
- Service Reward Distribution (First block of session N+2): Rewards are distributed to validators marked as active for the service. This is done by inserting new notes in the ledger corresponding to the reward amount for each active validator.

Core Properties:
- Service rewards are distributed to the
zk_id from validator SDP declarations.
- Minimal Block Overhead: rewards are directly added to the ledger without involving Mantle Transactions.
Protocol
Sessions