Documentation

Technical documentation for the MAVS reward system, validator onboarding, and the Minotaur partner chain protocol.

Reward distribution

How rewards are calculated

Each produced block generates a fixed reward (configurable via the chain's RewardPerBlock constant). The reward flow is:

  1. Margin fee — The validator's configured margin (0–100%, stored in basis points) is deducted first and paid to the block author.
  2. Pool distribution — The remaining reward is split proportionally among all delegators based on their stake share in the pool, as reported by the Cardano SPDD.
  3. Rounding remainder — Any integer rounding remainder is added to the validator's payout.

Pending rewards

If a delegator has not yet associated their Cardano staking key with a partner chain address, rewards are held in a PendingRewards storage map. Once the delegator calls the associate_address extrinsic, all accumulated pending rewards are paid out automatically.

Margin fee configuration

Validators set their margin fee via the set_fee extrinsic on the block-producer-fees pallet. The fee is stored as a value between 0 and 10000 (representing 0.00% to 100.00%) and takes effect immediately for subsequent block rewards.

Validator registration

Validators register on the Minotaur partner chain by submitting a registration transaction to the CommitteeCandidateValidator smart contract on the Cardano mainchain. The registration includes the validator's pool public key, sidechain public key, and Aura/Grandpa keys.

Address association

Delegators link their Cardano staking key to a partner chain address via the associate_address extrinsic. This creates an immutable mapping that enables automatic reward distribution. A burn fee is charged as spam protection.

API reference

GET/validators

List all registered validators with stake, addresses, margin fees, and ROI

GET/rewards/list/pending

List all pending reward distributions awaiting address association

GET/rewards/breakdown

Aggregated reward statistics: total paid, validator margin, delegation, failed

GET/rewards/breakdown/validators

Per-validator breakdown: margin earned, delegation distributed, blocks produced

GET/rewards/breakdown/delegators

Per-delegator breakdown: total received, pending, payout count, timestamps

GET/rewards/history?limit=50&offset=0

Paginated payout history with event type, recipient, amount, and timestamp

GET/rewards/expected

Expected reward projections per delegator based on current stake distribution

Architecture overview

Data flow:

  1. Block Production Log tracks which validator authored each block
  2. Block Participation aggregates production data with Cardano stake delegation distribution
  3. MAVS Rewards Pallet consumes participation data as inherent extrinsics and distributes rewards on-chain
  4. Event Indexer (API) subscribes to finalized blocks, classifies events, stores in PostgreSQL
  5. REST API exposes reward data and analytics for the frontend dashboard

Resources