# How Amadeus Protocol Distributes Block Rewards: Validator, Founder, and Treasury Split Explained

> Discover how Amadeus Protocol distributes block rewards. Learn the validator, founder, and treasury split, plus inflation-adjusted rates defined in consensus.

- Repository: [Amadeus Protocol/node](https://github.com/amadeusprotocol/node)
- Tags: deep-dive
- Published: 2026-08-20

---

**Amadeus Protocol distributes block rewards through a multi-tiered mechanism that splits minted AMADEUS tokens between validators, founders, and treasury, with inflation-adjusted rates defined in the consensus layer.**

In the Amadeus Protocol node implementation, block rewards are not paid to a single recipient. Instead, each successfully sealed block triggers a split allocation defined by on-chain parameters. This article breaks down the reward distribution logic found in the Rust-native consensus engine and Elixir coordination layer, showing exactly how incentives flow through the system.

## Understanding the Four-Component Reward Structure

According to the source code in `amadeusprotocol/node`, block rewards are divided across four distinct components. Each serves a specific purpose in the protocol's tokenomics:

| Component | Description | Source File |
|-----------|-------------|-------------|
| **Validator (Block Producer) Reward** | Base payment to the validator that proposes and seals the block, minted directly at block finalization | [`ex/native/rdb/src/consensus/bic/epoch.rs`](https://github.com/amadeusprotocol/node/blob/main/ex/native/rdb/src/consensus/bic/epoch.rs) |
| **Founders / Development Fee** | Fixed percentage directed to protocol development funding | [`ex/native/rdb/src/consensus/bic/epoch.rs`](https://github.com/amadeusprotocol/node/blob/main/ex/native/rdb/src/consensus/bic/epoch.rs) |
| **Community / Treasury Allocation** | Configurable portion reserved for ecosystem grants and network upgrades | [`ex/lib/consensus/models/consensus.ex`](https://github.com/amadeusprotocol/node/blob/main/ex/lib/consensus/models/consensus.ex) |
| **Slashing Redistribution** | Confiscated rewards from malicious validators redistributed to honest participants | [`ex/native/rdb/src/consensus/bic/lockup_vault.rs`](https://github.com/amadeusprotocol/node/blob/main/ex/native/rdb/src/consensus/bic/lockup_vault.rs) |

## Block Reward Calculation in the Consensus Engine

The reward computation begins in the Rust-native consensus module. When a validator produces a block, the `calculate_base_reward` function determines the minting amount based on the current inflation factor.

```rust
// Rust-side: minting reward when a block is sealed
fn mint_block_reward(block: &Block) -> Result<RewardAllocation, Error> {
    let reward = calculate_base_reward(block)?;
    let founders = reward * FOUNDERS_RATE;
    let treasury = reward * TREASURY_RATE;
    let validator = reward - founders - treasury;

    Ok(RewardAllocation {
        validator,
        founders,
        treasury,
    })
}

```

The `FOUNDERS_RATE` and `TREASURY_RATE` constants are defined in the epoch parameters. As implemented in [`ex/native/rdb/src/consensus/bic/epoch.rs`](https://github.com/amadeusprotocol/node/blob/main/ex/native/rdb/src/consensus/bic/epoch.rs), these rates apply uniformly across each epoch of 100,000 blocks.

## Elixir Coordination Layer for Reward Distribution

The Elixir side of the node handles higher-level reward orchestration. The `Amadeus.Consensus.Reward` module exposes the computation logic to the broader system:

```elixir

# Example: calculating a validator's reward in the consensus engine

defmodule Amadeus.Consensus.Reward do
  @epoch_blocks 100_000
  @founders_rate 0.10   # 10% of minted reward goes to founders

  @treasury_rate 0.05   # 5% goes to the treasury

  def compute_reward(block_height) do
    inflation = current_inflation(block_height)
    base_reward = inflation * block_reward_constant()

    founders = Float.round(base_reward * @founders_rate, 2)
    treasury = Float.round(base_reward * @treasury_rate, 2)
    validator = base_reward - founders - treasury

    %{validator: validator, founders: founders, treasury: treasury}
  end
end

```

This module bridges the Rust-native calculations with the node's operational state, ensuring consistent reward values across the distributed system.

## Epoch-Based Inflation and Parameter Adjustments

Amadeus Protocol reduces block rewards over time through a predetermined inflation curve. The schedule is enforced at epoch boundaries:

1. **Block Production** — Validator seals block, triggering reward calculation
2. **Minting** — AMADEUS tokens are created according to `current_inflation(block_height)`
3. **Split Application** — Fixed percentages分配给 validator, founders, and treasury
4. **Epoch Transition** — Every 100,000 blocks, inflation factor recalculates for the next epoch

The [`epoch.rs`](https://github.com/amadeusprotocol/node/blob/main/epoch.rs) file contains the constants governing this schedule. The gradual reduction ensures long-term token scarcity while maintaining validator participation incentives.

## Slashing and Reward Redistribution

Not all distributed rewards remain with their initial recipients. The [`lockup_vault.rs`](https://github.com/amadeusprotocol/node/blob/main/lockup_vault.rs) module implements slashing logic that affects reward flows:

- **Double-signing** or **equivocation** triggers confiscation
- **Slashed amounts** redistribute to validators who detected the misbehavior
- **Unspent rewards** from offending blocks remain subject to retroactive slashing

This creates a secondary reward stream for honest validators beyond base block production.

## Key Source Files for Block Reward Distribution

| File Path | Purpose |
|-----------|---------|
| [`ex/native/rdb/src/consensus/bic/epoch.rs`](https://github.com/amadeusprotocol/node/blob/main/ex/native/rdb/src/consensus/bic/epoch.rs) | Epoch constants, inflation schedule, founders reward parameters |
| [`ex/lib/consensus/models/consensus.ex`](https://github.com/amadeusprotocol/node/blob/main/ex/lib/consensus/models/consensus.ex) | Treasury handling and high-level reward distribution |
| [`ex/native/rdb/src/consensus/bic/lockup_vault.rs`](https://github.com/amadeusprotocol/node/blob/main/ex/native/rdb/src/consensus/bic/lockup_vault.rs) | Slashing mechanisms and reward redistribution |
| [`ex/lib/consensus/models/entry.ex`](https://github.com/amadeusprotocol/node/blob/main/ex/lib/consensus/models/entry.ex) | Entry validation and special block handling affecting reward eligibility |

## Summary

- **Block rewards in Amadeus Protocol split three ways**: validator payment, founders development fund, and community treasury
- **Minting occurs at block sealing** through the Rust-native consensus engine in [`epoch.rs`](https://github.com/amadeusprotocol/node/blob/main/epoch.rs)
- **Elixir coordination layer** ([`consensus.ex`](https://github.com/amadeusprotocol/node/blob/main/consensus.ex)) manages operational reward distribution
- **Inflation decreases per epoch** (100,000 blocks) according to a predetermined curve
- **Slashing redistributes confiscated rewards** to honest validators via [`lockup_vault.rs`](https://github.com/amadeusprotocol/node/blob/main/lockup_vault.rs)

## Frequently Asked Questions

### What percentage of block rewards go to founders and treasury?

Based on the source code constants in [`epoch.rs`](https://github.com/amadeusprotocol/node/blob/main/epoch.rs) and the Elixir reward module, founders receive approximately 10% and treasury receives 5% of each block's minted reward. The remaining ~85% goes to the block-producing validator. These rates are configurable at epoch boundaries.

### How does Amadeus Protocol prevent inflation from devaluing the token?

The protocol implements a predetermined inflation curve that reduces the minting rate at each epoch transition (every 100,000 blocks). This schedule is hardcoded in the consensus parameters found in [`ex/native/rdb/src/consensus/bic/epoch.rs`](https://github.com/amadeusprotocol/node/blob/main/ex/native/rdb/src/consensus/bic/epoch.rs), ensuring predictable and gradually decreasing token issuance.

### Can validators lose rewards after receiving them?

Yes. Through the slashing mechanism in [`lockup_vault.rs`](https://github.com/amadeusprotocol/node/blob/main/lockup_vault.rs), validators proven to have engaged in double-signing or equivocation can have unspent rewards confiscated retroactively. These slashed amounts are then redistributed to the validators who helped detect and prove the malicious behavior.

### Where is the treasury allocation stored and how is it spent?

The treasury portion of block rewards is deposited to a multi-signature treasury address managed through the consensus model in [`ex/lib/consensus/models/consensus.ex`](https://github.com/amadeusprotocol/node/blob/main/ex/lib/consensus/models/consensus.ex). Withdrawals require consensus-approved proposals, ensuring community governance over ecosystem grants and network upgrades.