Skip to main content

Concept

Overview

The x/mint module is responsible for creating new tokens (DT) on Dchain according to a predefined schedule. Unlike traditional Cosmos SDK mint modules that use inflation rates, Dchain's mint module is designed with:

  • Epoch-based minting: Tokens are minted at the end of each epoch (e.g., weekly) rather than per block
  • Maximum supply cap: The total supply is capped at a maximum limit (100B DT by default)
  • Reduction schedule: Minting reduces over time following a geometric reduction factor
  • Distribution control: Minted tokens are distributed between staking rewards and community pool

Key Features

Epoch-Based Minting

The mint module integrates with the epochs module to mint tokens at regular intervals. By default, Dchain uses weekly epochs, making the minting schedule predictable and aligned with longer time periods rather than individual blocks.

Max Supply Enforcement

To ensure a fixed maximum supply, the mint module:

  • Tracks total supply against the configured maximum supply
  • Stops minting when the maximum supply is reached
  • Adjusts the final mint to not exceed the cap

This design ensures Dchain has a predictable and limited token supply similar to Bitcoin's capped supply model.

Geometric Reduction Schedule

Minting follows a reduction schedule where:

  • Initial epoch provisions are defined in genesis
  • Every reduction period (e.g., 52 weeks = 1 year), the provisions are multiplied by a reduction factor (e.g., 0.8)
  • This creates a decreasing supply schedule: Year 1: 100%, Year 2: 80%, Year 3: 64%, etc.
  • The reduction continues until the maximum supply is reached

Configurable Distribution

Minted tokens are distributed according to configured proportions:

  • Staking rewards: Incentivize validators and delegators who secure the network
  • Community pool: Fund community initiatives and development

The distribution proportions must sum to 1.0 and can be adjusted via governance.

Minting Schedule Example

With default parameters:

  • Genesis epoch provisions: ~76.92M DT per week
  • Reduction period: 52 weeks (1 year)
  • Reduction factor: 0.8 (20% reduction per year)
  • Max supply: 100B DT

Year 1: ~76.92M DT/week × 52 weeks = ~4B DT Year 2: ~61.54M DT/week × 52 weeks = ~3.2B DT Year 3: ~49.23M DT/week × 52 weeks = ~2.56B DT ...until maximum supply is reached

Integration with Epochs Module

The mint module hooks into the epochs module lifecycle:

  • BeforeEpochStart: No action taken
  • AfterEpochEnd: Mints tokens for the completed epoch if conditions are met

This design decouples minting from block production, providing flexibility and predictability.