DBC Fee Scheduler Formula

When in Linear feeSchedulerMode: fee = cliff_fee_numerator - (period * reduction_factor)

When in Exponential feeSchedulerMode: fee = cliff_fee_numerator * (1 - reduction_factor/10_000)^period

baseFee: {
            cliffFeeNumerator: BN // Initial fee numerator (base fee)
            numberOfPeriod: number // The number of reduction periods
            reductionFactor: BN // How much fee reduces in each period
            periodFrequency: BN // How often fees change
            feeSchedulerMode: number // 0: Linear, 1: Exponential

Example

This starts the fees at 50%, then reduces exponentially to 4% after 120 slots or seconds (depending on your config key activation type)

baseFee: {
    feeSchedulerMode: 1, // 0 = linear, 1 = exponential
    cliffFeeNumerator: 500000000,
    numberOfPeriod: 120,
    reductionFactor: 208,
    periodFrequency:  1
 },

Using the Exponential mode formula:

fee = cliff_fee_numerator * (1 - reduction_factor/10_000)^period
      = 500000000 * (1 - 208 / 10000)^120
      = 40136415.18 == 0.04 == 4% fees

Last updated