Skip to main content

Pool Parameters

Setting Parameters at Deployment

Pool parameters are set at the time of pool deployment, and most parameters can be changed by the DAO later through governance votes. This flexibility allows for parameter optimization as market conditions evolve and new data becomes available.

When deploying pools via the Curve UI, recommended parameters are automatically suggested based on the algorithm type and tokens used.

Monitoring Parameters

Monitoring parameters is crucial for optimal pool performance. Depending on factors like market conditions, asset liquidity, trading volume, parameters can be optimized to help LPs earn more fees and provide better exchange rates for traders. Regular parameter adjustments ensure pools remain competitive and efficient.

Struggling with parameters? Don't worry, you're not alone! Jump into our Telegram and let the Curve wizards work their magic. From A to γ, we've got your back! 🧙‍♂️

Stableswap Parameters

NameVariable NameDescription
Amplification coefficientAControls liquidity concentration around the 1:1 price. Higher values reduce slippage near the peg, lower values spread liquidity more evenly. More here: Stableswap A
Regular feefeeRegular trading fee charged on swaps when pool is perfectly balanced
Off-peg fee multiplieroffpeg_fee_multiplierMultiplier applied to fees when pool is imbalanced. The greater the imbalance, the higher the multiplier. More here: Dynamic Fees
EMA timema_exp_timeTime constant for exponential moving average price oracle

Cryptoswap Parameters

CryptoSwap extends StableSwap by keeping A and adding parameters that adapt the curve and the fees to volatile assets.

NameVariable NameRole
Amplification coefficientASame meaning as in Stableswap, sets liquidity depth at balanced price. However, A=10,000 in Cryptoswap is A=1 in Stableswap, giving extra precicion for Cryptoswap pools. More here: Cryptoswap Parameters
Curve-width modifierγ (gamma)Controls how fast prices degrade when pools become unbalanced, lower values mean price declines are more gradual. More here: Cryptoswap Parameters
EMA half-lifema_timeTime constant (in seconds) of the exponential moving average that tracks the market price
Allowed extra profitallowed_extra_profitMinimum theoretical arbitrage gain (in bp) before the contract updates its internal price scale, preventing micro-adjustments
Adjustment stepadjustment_stepThe minimum rebalancing step (min movement of price_scale)
Mid feefee_midSwap fee when the pool is perfectly balanced. More here: Cryptoswap Dynamic Fees
Out feeout_feeMaximum fee charged at total imbalance. More here: Cryptoswap Dynamic Fees
Fee gammafee_gammaGoverns how quickly the fee rises between fee_mid and out_fee as the pool leaves equilibrium. More here: Cryptoswap Dynamic Fees

FXSwap Parameters

FXSwap parameters inherit the same ones as the Cryptoswap parameters above. Additionally, there are some governable parameters for the refuel (donation) mechanism:

NameVariable NameRole
Amplification coefficientAControls liquidity concentration around the balanced price. Higher values reduce slippage near the peg, lower values spread liquidity more evenly. Same as Cryptoswap A (Stableswap A factored by 10,000). More here: FXSwap A
EMA half-lifema_timeTime constant (in seconds) of the exponential moving average that tracks the market price
Allowed extra profitallowed_extra_profitMinimum theoretical arbitrage gain (in bp) before the contract updates its internal price scale, preventing micro-adjustments
Adjustment stepadjustment_stepThe minimum rebalancing step (min movement of price_scale)
Mid feefee_midSwap fee when the pool is perfectly balanced. More here: Cryptoswap Dynamic Fees
Out feeout_feeMaximum fee charged at total imbalance. More here: Cryptoswap Dynamic Fees
Fee gammafee_gammaGoverns how quickly the fee rises between fee_mid and out_fee as the pool leaves equilibrium. More here: Cryptoswap Dynamic Fees
Donation Durationdonation_durationTime required for refuels (donations) to fully unlock (default: 7 days)
Protection Perioddonation_protection_periodMaximum duration donation protection can be extended (default: 10 minutes)
Protection LP Thresholddonation_protection_lp_thresholdLP addition threshold that triggers protection extension (default: 20%)
Maximum Donation Share Ratiodonation_shares_max_ratioCap on donation shares as percentage of total supply (default: 10%)