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

Last updated