Formula for calculation of proposer reward

I was trying to validate the rewards being allocated to the validators on Cosmos when I found a weird thing. According to the documentation everywhere, there are two types of rewards that a validator gets for each block/epoch:

  1. Validator rewards (that depend on the on-chain inflation rate) include rewards from inflation and a stake-weighted share of the tx fees.
  2. Proposer rewards (that is basically tx) include inflation reward + stake weighted share of tx fees + 1 to 5 % bonus on the tx Fees.

However, on-chain data is actually very different.

  1. For example, if we take block any arbitrary block, say, 12763287, the inflation minted (~13.12%) is around 9.492 ATOM. Now, the proposer reward for that block is about 0.48 ATOM, and the sum of total rewards for all other validators is ~8.82 ATOM. Total supply - 315,212,795 ATOM.

Summing it up, we get ~9.30 ATOM. However, the total amount minted is 9.49 ATOM (total supply * 0.1312 / blocks_per_year). Now, I am assuming that a 2% community tax is taken from 9.49 ATOM (=> community tax = 0.189 ATOM). Hence we get 9.49 - 0.189 = 9.301 ~ 9.3 ATOM that we got from total rewards. I am ignoring txFees here since they are generally very small.

All this data is available on chain, and if I sum up the exact numbers, I get a 0% error so that is why believe my assumptions are correct. However, this proves that community tax is actually applied on the whole inflation reward rather than the txfees. Is this so? The documentation states that community tax is only taken from tx Fees.

  1. Another thing is that the max_proposer_bonus is 0.04, and min_proposer_bonus is 0.01. So, technically, it would make sense that if a block producer SIGNS 100% of the validators, the proposer reward would be 4% by the logic of naming. Whereas in this example, at the bottom of this page (https ://, the proposer reward is calculated as 5%. Similarly, my calculations sum up when I use 5%, so could someone confirm it? Also, as I mentioned in point 1, in the documentation, it is mentioned that the proposer reward is applied to txfees, but since txFees is too low, I tried applying it to the total minting amount and that is how I got very close to actual inflation on-chain.

For 2) I simply don’t know

Regarding 1) though, community tax is indeed applied to the newly minted ATOM and not to the tx fees. So if we would make the total inflation of a new block 100%, then 2% goes to the community pool, a part to the block proposer and the rest to all the stakers on chain.

1 Like