> ## 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

> Learn how DAMM v2 market-cap scheduler fees decrease as pool price grows, using linear or exponential curves.

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:

| Setting                       | Product Meaning                                             |
| ----------------------------- | ----------------------------------------------------------- |
| Cliff fee numerator           | Starting fee when the pool opens                            |
| Number of periods             | Maximum number of fee reductions                            |
| Sqrt price step bps           | Square-root price movement needed to trigger each reduction |
| Scheduler expiration duration | Time after which the scheduler settles at its final fee     |
| Reduction factor              | How 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.

```math theme={"system"}
\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.

```math theme={"system"}
\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

<CardGroup cols={2}>
  <Card title="Price-Based Fee Decay" icon="chart-line" iconType="solid">
    Fees decrease when price increases, not simply because time passes.
  </Card>

  <Card title="Launch Protection" icon="shield" iconType="solid">
    Fees can remain elevated until the market reaches real price milestones.
  </Card>

  <Card title="Market Growth Alignment" icon="arrow-trend-up" iconType="solid">
    The schedule rewards upward price discovery with lower trading fees.
  </Card>

  <Card title="Expiration Fallback" icon="calendar-check" iconType="solid">
    The scheduler settles at its final-period fee after the configured expiration duration.
  </Card>
</CardGroup>

## 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

| Curve       | Best For                        | Fee Behavior                                                   |
| ----------- | ------------------------------- | -------------------------------------------------------------- |
| Linear      | Clear market-cap milestones     | Fee numerator decreases by a fixed amount each step            |
| Exponential | Smoother price-growth fee curve | Fee 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](/core-products/damm-v2/fees/time-scheduler) instead when fees should decrease according to elapsed time.
