CURVE Distribution
Concentrate liquidity using a Gaussian (bell curve) distribution around the current price. Balances capital efficiency with range coverage. Visit the Shapes and Strategy section for more details.
Quick Implementation
import { DistributionUtils } from '@ferra-labs/dlmm';
// Create CURVE distribution
const curveParams = DistributionUtils.createParams(
DistributionUtils.CURVE,
{
activeId: pair.parameters.active_id,
binRange: [activeId - 20, activeId + 20],
parsedAmounts: [
new Decimal(1000), // token X
new Decimal(1000) // token Y
],
alpha: 0.1 // Concentration factor (0-1)
}
);
// Add liquidity
const tx = await sdk.Pair.openPositionAndAddLiquidity(pair, {
amountX: 1000000000n,
amountY: 1000000000n,
...curveParams
});
Alpha Parameter
Controls concentration level:
0.1: High concentration (narrow peak)
0.5: Moderate concentration
0.9: Low concentration (approaches uniform)
// Tight concentration for stable pairs
alpha: 0.1 // 90% liquidity in ±5 bins
// Balanced for volatile pairs
alpha: 0.5 // Wider distribution
Manual Implementation
// Simple approximation of Gaussian
const radius = 10;
const center = 0;
const deltaIds = Array.from({length: 21}, (_, i) => i - radius);
const distribution = deltaIds.map(id => {
// Higher values near center
const distance = Math.abs(id - center);
return Math.exp(-(distance ** 2) / (2 * 4)); // sigma = 2
});
// Normalize to 100
const sum = distribution.reduce((a, b) => a + b);
const normalized = distribution.map(v => (v / sum) * 100);
Best Use Cases
✅ Ideal for:
ETH/USDC (major pairs)
Most trading strategies
Fee optimization
Active markets
❌ Less suitable for:
Extreme volatility
Wide range needs
Passive strategies
Choosing Alpha
Blue-chip
0.1-0.3
Tight concentration
Standard
0.3-0.5
Balanced approach
Volatile
0.5-0.7
Wider coverage
Key Benefits
Higher fee capture near price
Maintains some range coverage
Efficient capital usage
Natural rebalancing incentive
Related Topics
SPOT Distribution - Uniform alternative
BID-ASK Distribution - Market making
Bin Selection - Optimize placement
Last updated