How It Works
DAMM v2 compares the current pool square-root price against the initial square-root price. Each time the current square-root price increases by a configuredsqrt_price_step_bps, the scheduler advances and lowers the fee.
Key settings include:
DAMM v2 supports two market cap scheduler curves: linear and exponential.
Linear Market Cap Scheduler
The linear market-cap scheduler decreases the fee numerator by the same fixed amount each time the pool square-root price moves through a configured step. In product terms, the fee moves down in predictable price milestones. Each upward price step unlocks the next fee reduction. Use linear market cap scheduling when you want each price milestone to reduce fees by the same amount.Exponential Market Cap Scheduler
The exponential market-cap scheduler reduces the fee by applying the reduction factor as price milestones are reached. In product terms, fees can drop faster in early price-growth stages, then slow as they approach the final fee. Use exponential market cap scheduling when you want the launch curve to feel smoother than a fixed step-down schedule.Why Use Market Cap Scheduler Fees
Price-Based Fee Decay
Fees decrease when price increases, not simply because time passes.
Launch Protection
Fees can remain elevated until the market reaches real price milestones.
Market Growth Alignment
The schedule rewards upward price discovery with lower trading fees.
Expiration Fallback
The scheduler settles at its final-period fee after the configured expiration duration.
Expiration and Validation
If the scheduler expires, or if a pre-activation alpha-vault buy is being processed, the program uses the final period. If the current square-root price is at or below the initial square-root price before expiration, the scheduler uses period0.
The program requires all of these values to be non-zero:
reduction_factorsqrt_price_step_bpsscheduler_expiration_durationnumber_of_period

