waves_logo Docs
  • About Waves blockchain
    About Waves blockchain
  • Account
    • Account balance
      Account balance
    • Account data storage
      Account data storage
    • Address
      Address
    • Alias
      Alias
    • dApp
      dApp
    • Smart account
      Smart account
    Account
  • Binary format
    • Address binary format
      Address binary format
    • Alias binary format
      Alias binary format
    • Block binary format
      Block binary format
    • Network message binary format
      • Block message binary format
        Block message binary format
      • Checkpoint message binary format
        Checkpoint message binary format
      • Get block message binary format
        Get block message binary format
      • Get peers message binary format
        Get peers message binary format
      • Get signatures message binary format
        Get signatures message binary format
      • Handshake message binary format
        Handshake message binary format
      • Peers message binary format
        Peers message binary format
      • Score message binary format
        Score message binary format
      • Signatures message binary format
        Signatures message binary format
      • Transaction message binary format
        Transaction message binary format
      Network message binary format
    • Order binary format
      Order binary format
    • Transaction binary format
      • Burn transaction binary format
        Burn transaction binary format
      • Create alias transaction binary format
        Create alias transaction binary format
      • Data transaction binary format
        Data transaction binary format
      • Exchange transaction binary format
        Exchange transaction binary format
      • Genesis transaction binary format
        Genesis transaction binary format
      • Invoke script transaction binary format
        Invoke script transaction binary format
      • Issue transaction binary format
        Issue transaction binary format
      • Lease cancel transaction binary format
        Lease cancel transaction binary format
      • Lease transaction binary format
        Lease transaction binary format
      • Mass transfer transaction binary format
        Mass transfer transaction binary format
      • Reissue transaction binary format
        Reissue transaction binary format
      • Set asset script transaction binary format
        Set asset script transaction binary format
      • Set script transaction binary format
        Set script transaction binary format
      • Sponsor fee transaction binary format
        Sponsor fee transaction binary format
      • Transfer transaction binary format
        Transfer transaction binary format
      • Update asset info transaction binary format
        Update asset info transaction binary format
      Transaction binary format
    • Transaction proof binary format
      Transaction proof binary format
    Binary format
  • Block
    • Block generation
      • Base target
        Base target
      • Generation signature
        Generation signature
      Block generation
    • Block height
      Block height
    • Block signature
      Block signature
    • Block timestamp
      Block timestamp
    • Transations Root Hash
      Transations Root Hash
    • Genesis block
      Genesis block
    Block
  • Blockchain
    • Blockchain data types
      Blockchain data types
    • Blockchain height
      Blockchain height
    Blockchain
  • Blockchain network
    • Chain ID
      Chain ID
    • Main network
      Main network
    • Test network
      Test network
    • Stage network
      Stage network
    Blockchain network
  • Leased Proof of Stake
    Leased Proof of Stake
  • Mining
    • Miner
      Miner
    • Mining account
      Mining account
    • Mining reward
      Mining reward
    Mining
  • Matcher fee
    Matcher fee
  • Node
    • Mining node
      Mining node
    • Validating node
      Validating node
    Node
  • Oracle
    Oracle
  • Order
    Order
  • Token
    • Non-fungible token
      Non-fungible token
    • Smart asset
      Smart asset
    • Token ID
      Token ID
    • WAVES
      WAVES
    • WAVELET
      WAVELET
    • WCT
      WCT
    Token
  • Transaction
    • Transaction ID
      Transaction ID
    • Transaction body bytes
      Transaction body bytes
    • Transaction fee
      • Sponsored fee
        Sponsored fee
      Transaction fee
    • Transaction proof
      Transaction proof
    • Transaction signature
      Transaction signature
    • Transaction timestamp
      Transaction timestamp
    • Transaction validation
      Transaction validation
    • Transaction version
      Transaction version
    Transaction
  • Transaction type
    • Burn transaction
      Burn transaction
    • Create alias transaction
      Create alias transaction
    • Data transaction
      Data transaction
    • Exchange transaction
      Exchange transaction
    • Genesis transaction
      Genesis transaction
    • Invoke script transaction
      Invoke script transaction
    • Issue transaction
      Issue transaction
    • Lease cancel transaction
      Lease cancel transaction
    • Lease transaction
      Lease transaction
    • Mass transfer transaction
      Mass transfer transaction
    • Reissue transaction
      Reissue transaction
    • Set asset script transaction
      Set asset script transaction
    • Set script transaction
      Set script transaction
    • Transfer transaction
      Transfer transaction
    • Update asset info transaction
      Update asset info transaction
    Transaction type
  • Waves protocol
    • Cryptographic practical details
      Cryptographic practical details
    • Validation rules
      Validation rules
    • Waves-NG solution
      Waves-NG solution
    • Fair Proof of Stake
      Fair Proof of Stake
    • Waves-NG protocol
      Waves-NG protocol
    • Activation protocol
      Activation protocol
    Waves protocol
  • Glossary
    Glossary
      • English
      • Русский
      On this page
        • Current reward size
        • The change of mining reward size over time
        • Voting
        • How votes are counted
        • Examples
      waves_logo Docs

          # Mining reward

          The mining reward is a blockchain feature under which miners receive a fixed fee in WAVES for each generated block.

          Mining rewards are paid due to the additional issue of the WAVES token.

          The community of miners can change the size of reward through voting.

          # Current reward size

          You can view the current reward size by making a request to the Node API. In response to the request, JSON is returned, the value of the currentReward field of which is the current mining reward size in WAVELETs.

          Example of request:

          curl https://nodes.wavesnodes.com/blockchain/rewards
          

          Example of response:

          {
            "height": 1742254,
            "totalWavesAmount": 10001353000000000,
            "currentReward": 600000000,
            "minIncrement": 50000000,
            "term": 100000,
            "nextCheck": 1839999,
            "votingIntervalStart": 1830000,
            "votingInterval": 10000,
            "votingThreshold": 5001,
            "votes": {
              "increase": 0,
              "decrease": 0
            }
          }
          

          In the example above, the value of the JSON's currentReward field is 600,000,000 WAVELETs — i.e. it's 6 WAVES.

          # The change of mining reward size over time

          Every 100,000 blocks, i.e. approximately every 70 days, a new voting for the current reward size change begins among the miners.

          The voting duration is 10,000 blocks. During this time, miners vote to increase, decrease or leave the current reward size unchanged.

          The elected reward size remains unchanged for 100,000 blocks following the end of voting.

          # Voting

          Miner specifies the new desired reward size using the waves.rewards.desired setting in the node configuration file; the setting value is specified in WAVELETs.

          If the value is greater than the current reward size, then miner votes for the current reward size increase; if the value is smaller — for the decrease. If the setting value is not specified in the configuration file, then miner votes for keeping the current reward size.

          When a mining node generates a block, it writes into that block the value of the waves.rewards.desired setting from its own configuration file. If the setting value is not specified in the configuration file, then -1 is written to the block.

          During the voting time in 10,000 blocks, a single mining node can generate several blocks, therefore one mining node can vote several times. How often a mining node generates blocks is determined by the LPoS consensus.

          # How votes are counted

          To count the votes, all 10,000 blocks generated during the voting period are inspected.

          If either -1 or the value that is equal to the current reward size is recorded to the block, then miner votes for keeping the current reward size.

          If the value recorded to the block is greater than the current reward size, then miner votes for the current reward size increase; if the value is smaller — for the decrease.

          The mining reward is increased/decreased only if more than half of the 10,000 votes — i.e. 5,001 votes or more — were given for increase/decrease. The amount of the current reward is increased/decreased by 0.5 WAVES step.

          # Examples

          # Example 1

          At the blockchain height of 2,000,000, the mining reward equals 5 WAVES. At the height of 2,090,000, another voting starts.

          During the 10,000 blocks of voting 6,000 votes were given for reward increase, 1,000 — for decrease, 3,000 — for keeping the current reward size.

          From the height of 2,100,000 to the height of 2,199,999, the new reward size will be 5.5 WAVES, because the reward change step is 0.5 WAVES.

          The next voting will take place from the height of 2,190,000 to 2,199,999.

          # Example 2

          At the blockchain height of 2,100,000, the mining reward equals 5.5 WAVES. At the height of 2,190,000, another voting starts.

          During the 10,000 blocks of voting 4,500 votes were given for reward increase, 4,000 — for decrease, 1,500 — for keeping the current reward size.

          From the height of 2,200,000 to the height of 2,299,999, the "new" reward size will be the same — 5.5 WAVES. Although the highest number of votes were given for the reward increase, it was not enough to change the current reward size. In order for the current reward size to be increased, at least 5,001 votes must be given for the increase.

          The next voting will take place from the height of 2,290,000 to 2,299,999.

          Mining account
          Matcher fee
          Mining account
          Matcher fee