Skip to main content
Version: Next

Setting Rate Limits

Rate limits are set through a governance-gated authority on a per denom, and per channel / client basis. To add a rate limit, the MsgAddRateLimit message must be executed which includes:

  • Denom: the asset that the rate limit should be applied to
  • ChannelOrClientId: the channelID for use with IBC classic connections, or the clientID for use with IBC v2 connections
  • MaxPercentSend: the outflow threshold as a percentage of the channelValue. More explicitly, a packet being sent would exceed the threshold quota if: (Outflow - Inflow + Packet Amount) / channelValue is greater than MaxPercentSend
  • MaxPercentRecv: the inflow threshold as a percentage of the channelValue
  • DurationHours: the length of time, after which the rate limits reset

Updating, Removing or Resetting Rate Limits

  • If rate limits were set to be too low or high for a given channel/client, they can be updated with MsgUpdateRateLimit.
  • If rate limits are no longer needed, they can be removed with MsgRemoveRateLimit.
  • If the flow counter needs to be resent for a given rate limit, it is possible to do so with MsgResetRateLimit.