Incorrect calculation of "Minimum received after slippage"
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5.5k
- Forks
- 5.4k
- PR merge metrics
- No merged PRs in 30d
Description
Bug Description
From the Uniswap's docs:
If your slippage is set too high, then you may get less tokens than expected when swapping. For example, if your slippage is set to 25%, then you may receive 25% less than the expected swap outcome (tokens) that is shown to you in the swap preview.
This confirms how slippage should be calculated. However, this is not the case in the current Uniswap app and Uniswap widget. What actually happens is that the app calculates 25% of the execution price instead of the expected price.
Steps to Reproduce
- Go to uniswap.exchange
- Input swap from
1000 USDCto1000 DAIand set slippage to25% - Notice the minimum amount out is
800 DAI, which is20%less than expected price
Expected Behavior
- Go to uniswap.exchange
- Input
1000 USDCto1000 DAIand set slippage to25% - Notice the minimum amount out is
750 DAI, which is25%less than expected price
Additional Context

Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the Uniswap app and widget swap flow described in the reproduction steps, tracing how the expected output and slippage setting produce the minimum amount out. Compare the calculation with the documented 25% reduction from the expected price; done means 1,000 USDC to 1,000 DAI at 25% slippage shows 750 DAI as the minimum amount out.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- blockchain, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100