A.S.S. for DAMM v2
Last updated
Last updated
Anti-sniper tech for DAMM v2 includes Dynamic Fee and Fee Scheduler.
Creators have the option to use a pool with a dynamically changing fee structure that capitalizes on launch volatility to maximize yield for LPs while protecting against sniper activity.
Dynamic Fee acts as a form of surge pricing based on market fluctuations and volatility.
Since demand for tokens and price volatility are often the highest at launch, Dynamic Fee would also be high. This both mitigates against aggressive sniper bot purchases while capturing more fees for the token creator and LPs in the pool.
LPs earn a swap fee from traders when they perform a swap. The total swap fee will have two components: a base fee and a variable fee .
Total swap fee
The variable fee is a function of real-time price volatility. The fee rate will be applied to the swap amount in each liquidity bin and distributed proportionally to the LPs in that bin.
For more information, please visit .
dynamic_fee_numerator = ((volatilityAccumulator*binStep)^2 * variableFeeControl + 99_999_999_999) / 100_000_000_000
dynamic_fee_percent = (dynamic_fee_numerator / 1_000_000_000) * 100
By default
binStep = 1
variableFeeControl = 2_000_000
volatilityAccumulator is the value inside program and storage in poolState.
Creators have the option to use a pool with a configurable fee schedule where the base fee starts high and drops over time (linearly or exponentially). This is designed to deter sniper bots by imposing higher fees during the start of the launch and initial launch phase.
A fee schedule for a pool can be configured, where the % fee charged per swap changes over time, ending at a % base fee set by the pool creator. The change in fee can be based on a linear or exponential curve.
Token launches or integrators can use their preferred config when setting up their pool. These parameters for the Fee Scheduler can be configured in advance.
For a DAMM v2 pool using the fee scheduler, the default fee schedule config used on the Meteora frontend is based on an Exponential curve, 50% when pool trading starts, and dropping every second for 120 min, ending at 0.25%. DAMM v2 also offers creators and integrators the option of a Linear curve if required.
Fee Schedule (Exponential) Example
Just as an example, here's a look at the % fee at different time intervals:
50% - when pool trading starts
32.15% - 10 min after pool trading starts (10 min after 50% starts)
20.67% - 20 min after pool trading starts (10 min after 32.15% starts)
13.29% - 30 min after pool trading starts (10 min after 20.67% starts)
8.55% - 40 min after pool trading starts (10 min after 13.29% starts)
5.50% - 50 min after pool trading starts (10 min after 8.55% starts)
3.53% - 60 min after pool trading starts (10 min after 5.50% starts)
2.27% - 70 min after pool trading starts (10 min after 3.53% starts)
1.46% - 80 min after pool trading starts (10 min after 2.27% starts)
0.94% - 90 min after pool trading starts (10 min after 1.46% starts)
0.60% - 100 min after pool trading starts (10 min after 0.94% starts)
0.39% - 110 min after pool trading starts (10 min after 0.60% starts)
0.25% - 120 min after pool trading starts (10 min after 0.39% starts)
Fee Schedule (Linear ) Example
Notes on DAMM v2 Fee Scheduler
By default, LP Fees drop over time per second. But partners using the pool creation setup script have the following options:
Time based: Fees change per second
Slot based: Fees change per slot (1 slot = 1 block = 0.4 secs)
DAMM v2 Fee Scheduler Calculation
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
Read about .
For more information on DAMM v2 pool and fee configuration, visit .