DEX swap price-impact calculator
Model an exact-input swap in a full-range constant-product pool. Separate pool-curve impact from fees and calculate a minimum output from your tolerance.
Inputs
Hypothetical example. Replace these inputs with your own.
Result
Calculation result
Example result
- Modeled output
- 90.661089388 output tokens
- Minimum output at supplied tolerance
- 89.7544784941 output tokens
- Curve impact excluding input fee
- 9.066109 %
- Shortfall versus pre-fee spot rate
- 9.338911 %
- Input pool fee
- 0.3 input tokens
- Pre-swap marginal rate
- 1 output/input
- Fee-inclusive execution rate
- 0.9066108939 output/input
- Input reserve after
- 1,100 input tokens
- Output reserve after
- 909.338910612 output tokens
- Post-swap marginal rate
- 0.8266717369 output/input
- This is one exact-input swap through a supplied full-range constant-product pool. The input fee remains in the pool, so the input reserve increases by the full input amount.
- Curve impact compares the output per effective input with the pre-swap marginal rate. Total shortfall also includes the input fee and uses the full input amount.
- Minimum output applies your tolerance to this modeled quote. The tolerance is a protective bound, not a prediction of price movement or a guarantee of a fill.
- Concentrated liquidity, stable-swap pools, multiple hops, token transfer taxes, rebasing, changing fees, output fees, MEV and historical price changes are excluded.
Saved scenarios
Save up to 20 new-tool scenarios on this device, separately from the six existing tools. Prices and balances stay out of the URL. DCA, journal and correlation scenarios save settings and a digest, requiring the matching CSV again to calculate.
Saving requires browser storage and Web Locks.
Formula and worked example
Effective input = input × (1 − fee). Output = output reserve × effective input / (input reserve + effective input). Minimum output = modeled output × (1 − tolerance). Fees remain in the input reserve.
Hypothetical reserves of 1,000 X and 1,000 Y, with 100 X input and no pool fee, give about 90.9091 Y. A 1% tolerance sets a 90 Y minimum. This supports one full-range x*y=k pool, not concentrated or stable-swap liquidity.
These estimates use bounded decimal arithmetic. They are scenario calculations, not trading instructions or forecasts.
Methodology sources: Uniswap v2 full-range pool model
Related tasks and reading
This website is developed by Zack White and Vincent Hale.