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.

DAMM v2 market-cap scheduler fees reduce trading fees as the pool price grows. Unlike time scheduler fees, the fee does not drop just because time passes. It drops when the current square-root price moves through configured steps above the initial square-root price. This is useful for launches where fee reductions should follow market growth instead of a countdown.

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 configured sqrt_price_step_bps, the scheduler advances and lowers the fee. Key settings include:
SettingProduct Meaning
Cliff fee numeratorStarting fee when the pool opens
Number of periodsMaximum number of fee reductions
Sqrt price step bpsSquare-root price movement needed to trigger each reduction
Scheduler expiration durationTime after which the scheduler settles at its final fee
Reduction factorHow much the fee changes each step
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. Fee Numerator=Cliff Fee Numerator(Price Steps Passed×Reduction Factor)\text{Fee Numerator} = \text{Cliff Fee Numerator} - (\text{Price Steps Passed} \times \text{Reduction Factor}) 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. Fee Numerator=Cliff Fee Numerator×(1Reduction Factor10,000)Price Steps Passed\text{Fee Numerator} = \text{Cliff Fee Numerator} \times \left(1 - \frac{\text{Reduction Factor}}{10{,}000}\right)^{\text{Price Steps Passed}} 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 period 0. The program requires all of these values to be non-zero:
  • reduction_factor
  • sqrt_price_step_bps
  • scheduler_expiration_duration
  • number_of_period

Linear vs Exponential

CurveBest ForFee Behavior
LinearClear market-cap milestonesFee numerator decreases by a fixed amount each step
ExponentialSmoother price-growth fee curveFee numerator decreases by a percentage-style factor each step

When To Choose It

Use a market cap scheduler when fees should stay elevated until the pool shows upward price movement. This can be useful for launch markets where the team wants protection to follow market behavior. Use Time Scheduler Fees instead when fees should decrease according to elapsed time.