Calculate Token Amounts
Calculate the exact token amounts required for each bin based on your liquidity distribution. Essential for preparing transactions and avoiding slippage.
Token Requirements by Bin
DLMM requires different token ratios based on bin position:
Below active bin: 100% token Y (quote token)
At active bin: Both tokens (ratio depends on position in bin)
Above active bin: 100% token X (base token)
Basic Calculation
import { getAmountXFromLiquidity, getAmountYFromLiquidity } from '@ferra-labs/dlmm';
// For a specific bin
const binId = 8388610;
const liquidity = 1000000n;
const binPrice = getPriceFromBinId(binId, binStep);
// Calculate required amounts
const amountX = getAmountXFromLiquidity(liquidity, 0n, binPrice);
const amountY = getAmountYFromLiquidity(liquidity, amountX, binPrice);
console.log(`Bin ${binId} needs:`, {
tokenX: amountX,
tokenY: amountY
});Multi-Bin Calculation
Using SDK Helpers
Active Bin Calculation
For the active bin, token ratio depends on position within the bin:
Practical Example
Important Notes
Always add buffer for slippage (1-2%)
Active bin requirements change with price
Use current bin reserves for accurate calculation
Consider gas costs for many bins
Common Patterns
Related Topics
Add Liquidity Overview - Understanding requirements
SPOT Distribution - Simple calculations
Slippage Protection - Handle price changes
Last updated