Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.meteora.ag/llms.txt

Use this file to discover all available pages before exploring further.

The DBC fee scheduler controls how the base fee changes after a pool opens. It can be used in three product ways:
Scheduler StyleProduct BehaviorBest Fit
FixedFee stays constant.Simple launches with predictable fee messaging.
LinearFee decreases by the same amount each period.Launches that want a clear anti-sniper schedule.
ExponentialFee decreases by a percentage of the current fee each period.Launches that want stronger early protection and faster early relief.

How Scheduler Settings Work

A scheduler uses four core settings.
SettingProduct Meaning
Cliff feeThe starting fee when trading opens.
Number of periodsHow many fee reductions can happen.
Period frequencyHow long each period lasts.
Reduction factorHow much the fee decreases each period.
The schedule is measured from the pool’s activation point. Activation can be based on slot or timestamp, depending on the config.

Fixed-Fee Behavior

Fixed-fee behavior is the simplest scheduler setup. Fee=Cliff Fee\text{Fee} = \text{Cliff Fee} In product terms, every trade pays the same base fee unless dynamic fees are enabled. This is useful for launchpads that want broad, easy-to-explain presets.
Fixed fee is not a separate on-chain scheduler curve. It is scheduler behavior where period_frequency, number_of_period, and reduction_factor are all zero, so the program returns the cliff fee for every swap.

Linear Scheduling

Linear scheduling reduces the fee by the same amount each period. Fee=Cliff Fee(Passed Periods×Reduction Factor)\text{Fee} = \text{Cliff Fee} - (\text{Passed Periods} \times \text{Reduction Factor}) Think of it like a staircase.
High fee
   |
   |____
        |____
             |____
                  |____ Final fee
Linear scheduling is easy to publish because every step is predictable.

Exponential Scheduling

Exponential scheduling reduces the fee by a percentage-style factor each period. Fee=Cliff Fee×(1Reduction Factor)Passed Periods\text{Fee} = \text{Cliff Fee} \times (1 - \text{Reduction Factor})^\text{Passed Periods} This usually drops faster early, then tapers.
High fee
   |\
   | \
   |  \__
   |     \____ Final fee
Exponential scheduling is useful when the launch wants the strongest protection near opening, but does not want to keep fees elevated for too long.

Fee Bounds

Scheduler fees must stay within DBC bonding phase fee bounds.
BoundProduct Meaning
Minimum base fee0.25% minimum base fee for bonding phase configurations.
Maximum total fee99% maximum fee cap to avoid invalid launch configurations.
If any scheduler field is non-zero, all three schedule fields must be non-zero. Mixed zero and non-zero scheduler settings are invalid.

Choosing a Scheduler

Use fixed-fee behavior. It is easiest for traders to understand and works well when anti-sniper fee decay is not needed.
Use linear scheduling. It is the easiest decaying-fee model to communicate because each reduction is the same size.
Use exponential scheduling. It front-loads fee protection while making the launch more accessible as early trading settles.