Una característica fundamental del sistema MCD es acumular tarifas de estabilidad en los saldos de deuda de las vaults, así como intereses en los depósitos de Tasa de Ahorro de Dai (DSR - Dai Savings Rate).
El mecanismo, utilizado para realizar estas funciones de acumulación, está sujeto a una restricción importante: la acumulación debe ser una operación de tiempo constante con respecto al número de vaults y al números de depósitos de DSR. De lo contrario, los eventos de acumulación serán bastante ineficientes con respecto al gas (y podrían excederse de los límites de bloque de gas).
Tanto para las tarifas de estabilidad como para los DSR, la solución es similar: almacenar y actualizar un valor de "tasa acumulativa" global (por colateral para tarifas de estabilidad), el cual puede ser multiplicado por una deuda normalizada o un monto de depósito para obtener el monto total de la deuda o del depósito cuando sea necesario.
Entonces, la tasa acumulativa R en momento T es dada por:
$$ R(t) \equiv R_0 \prod_{i=t_0 + 1}^{t} F_i = R_0 \cdot F_{t_0 + 1} \cdot F_{t_0 + 2} \cdots F_{t-1} \cdot F_t $$
Y la deuda total de una vault en momento t sería:
$$ D(t) \equiv A \cdot R(t) = D_0 \prod_{t=1}^{T} F_i $$
En el sistema actual, R no es necesariamente actualizado con cada bloque y puede que los valores actuales de R dentro del sistema no tengan el valor exacto que deberían tener. Sin embargo, la diferencia en la práctica debería ser menor dado el ecosistema suficientemente amplio y activo.
Las explicaciones detalladas de ambos mecanismos de acumulación se pueden encontrar debajo.