> For the complete documentation index, see [llms.txt](https://docs.kuma.bond/kuma-protocol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kuma.bond/kuma-protocol/developers/smart-contract-architecture/rate-feed/mcagaggregator-volatility-check.md).

# MCAGAggregator Volatility Check

Before an `MCAGAggregator` contract accepts a newly transmitted rate in a new round, it checks that the new rate has not changed too drastically from the previous round. This is done by comparing the absolute differences between the new and previous rate are less than the `_volatilityThreshold`, given in a per-second cumulative rate.

For example, if the previous rate transmitted by the aggregator corresponds to a yearly coupon of `5%` (or an on-chain per-second cumulative rate of `1000000001547125957863212449`), and the `_volatilityThreshold` is set to `315522921573372069`, or a yearly coupon of `1%`, the next rate must be:

* greater than a minimum rate of the current rate + the `_volatilityThreshold`, or `1000000001547125957863212449` + `315522921573372069` = `1000000001862648879436584518`, corresponding to a yearly coupon of `4%`
* less than a maximum rate of the current rate + the `_volatilityThreshold`, or `1000000001547125957863212449` - `315522921573372069` = `1000000001231603036289840380`, corresponding to a yearly coupon of `6%`
