[Proposal Draft] Issue regarding validator minimum-gas-prices

This proposal draft addresses potential concerns regarding minimum-gas-prices. Any feedbacks/suggestions/discussions are welcomed.


  • Validator nodes can set their own minimum-gas-prices.
  • Minimum-gas-prices allows independent nodes to define the minimum Tx fee they will broadcast/process.
  • Defining minimum-gas-prices also allows validator nodes to maintain node stability and prevent Tx spam.


  • minimum-gas-prices of independent nodes aren’t publicly known.
  • min_fee_rate of most validators that frequently propose blocks are unknown, inducing difficulties on end-user experience when calculating Tx fee. (There is the possibility of a Tx not being included in the next block even when the user pays enough Tx fee and the chain isn’t busy)
  • Most validators are using a rate of 0.025, which is the rate suggested by the Interchain Foundation.
  • However, few of the top validators with significant voting power are using a substantially higher fee_rate.
  • This allows for few of the top validators to continue frequently proposing blocks while not processing a single transaction.
  • At the current early state of the network where there aren’t that many transactions, validators that frequently propose blocks not processing any transactions may not be a problem. However, this may pose problems when the network becomes busy.
  • Also from the standpoint of validators being not only a vital part of the security of the network but also the operator/processors, abstaining on what could be considered one of the most important duties of a validator—processing transactions—could be considered a problem.

Potential Suggestions

  1. There needs to be a query that checks minimum-gas-prices of each validator.
  2. Set minimum and maximum rates for minimum-gas-prices.
  3. Use a global fee across the network.
  4. Allow for validators to enter their minimum-gas-prices along with basic node information (commission, max commission change rate, etc.)

Please add any feedbacks or suggestions in the comment section.


Here is what my proposal.

Every validator SHOULD expose a subdomain meta.<validator_domain>. Validator Domain should match the validator website from the chain state. For example, https://meta.iqlusion.io

On the subdomain, there should be /gas endpoint.
ex. https://meta.iqlusion.io/gas

This return a json response.

	"gas_prices": [{
		"amount": 0.01,
		"denom": "uatom"
	}, {
		"amount": 0.005,
		"denom": "photon"



I’m not a professional programmer, but that looks like a quick patch, the easiest way. You need to have a domain and web hosting server to do that. Quick fixes can result a future long-term issues.

I don’t view this as a quick patch solution.

Validators can always run their own censorship policies. There should be a standard procedure for advertising those policies. We can expand this spec to include this like public sentry nodes and transaction ingestion endpoints

I will be writing an ADR for this in the coming weeks. Ref: https://github.com/cosmos/cosmos-sdk/issues/4527#issuecomment-505147344

Not sure why you’d want a maximum fee though.

1 Like

Oh right. I meant to write minimum fee. There shouldn’t be a limit to how high a validator can set minimum-gas-prices.

This seems like a practical solution that would let applications (i.e. wallet providers like Imtoken, Cosmostation, etc.) figure out minimum-gas-prices for different validators a bit easier. I agree that validators should be allowed to run their own censorship policies.

I still do think that there should be some sort of global minimum implemented, either static or dynamic.