Magma Developer SDK
  • Getting started
  • Prerequisites
  • Features Available
  • Retrieve clmm pools
  • Retrieve positions
  • Retrieve reward
  • Retrieve ticks
  • Create clmm pool
  • Open position
  • Add liquidity
  • Remove liquidity
  • Close position
  • Collect fees
  • Collect rewards
  • Preswap
  • Swap
  • Partner swap
  • Smart router
  • Price impact
  • Minimum received & Maximum sold
  • Fee
  • Liquidity correlation calculation
  • APR correlation calculation
Powered by GitBook
On this page
  • How to calculate minimun received?
  • Example
  • How to calculate maximum sold?
  • Example

Minimum received & Maximum sold

How to calculate minimun received?

When fixed input amount, minimum received means the min amount of the received coin, it equals outputAmount * (1 - slippageTolerance). If swap during times of significant price fluctuations, and swap result of output amount less than minimum received, this transaction will be rejected.

Example

const res = await sdk.RouterV2.getBestRouter(USDT, USDC, 100000000, true, 5, '', undefined, true, false)
const slippageTolerance = 0.01

const minReceived =  res.result.outputAmount * (1 - slippageTolerance)
console.log('minReceived: ', minReceived )

How to calculate maximum sold?

When fixed output amount, maximum sold means the max amount of the sold coin, it equals inputAmount * (1 + slippageTolerance). If swap during times of significant price fluctuations, and swap result of input amount more than maximum sold, this transaction will be rejected.

Example

const res = await sdk.RouterV2.getBestRouter(USDT, USDC, 100000000, true, 5, '', undefined, true, false)
const slippageTolerance = 0.01

const maxSold =  res.result.inputAmount * (1 + slippageTolerance)
console.log('maxSold: ', maxSold )
PreviousPrice impactNextFee

Last updated 4 months ago