Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/normdoow/uniswap.fish
An all-in-one platform for Uniswap liquidity providers (prev Uniswap Calculator)
https://github.com/normdoow/uniswap.fish
calculator create-react-app ethereum uniswap uniswap-v3
Last synced: 1 day ago
JSON representation
An all-in-one platform for Uniswap liquidity providers (prev Uniswap Calculator)
- Host: GitHub
- URL: https://github.com/normdoow/uniswap.fish
- Owner: normdoow
- Created: 2021-07-25T05:02:48.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-09-11T19:29:15.000Z (about 1 year ago)
- Last Synced: 2024-11-07T13:12:07.083Z (9 days ago)
- Topics: calculator, create-react-app, ethereum, uniswap, uniswap-v3
- Language: TypeScript
- Homepage: https://uniswap.fish
- Size: 4.59 MB
- Stars: 204
- Watchers: 9
- Forks: 66
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ฆ UniswapCalculator
Uniswap V3 Fee Calculator, Visit: [Poolfish](https://poolfish.xyz/calculators/uniswap), [@poolfish_xyz](https://twitter.com/poolfish_xyz)
> Disclaimer: please do your own research, this website is intended to be used and must be used for informational purpose only. It is very important to do your own analysis before making any investment based on your personal circumstances.
[Report a bug or request a feature](https://github.com/chunrapeepat/uniswap.fish/issues)
## Features
- Fee calculation: select pair and pool, input deposit amount (USD), and adjust your lower and upper price
- Liquidity position histogram and correlation chart to help you plan your strategy better
- It's 100% open source! hope that Uniswap community will bring a lot more ideas and features to this project## Calculation Breakdown
### 1. Calculate deposit amount of token0 and token1
- Refer to [Uniswap V3 Whitepaper](https://uniswap.org/whitepaper-v3.pdf) (Formula: 6.29, 6.30, P.8), we can calculate total amount of each token by using these formulas: (if `il <= ic < iu`; where `il` = lowerTickId, `ic` = currentTickId, `iu` = upperTickId, `Pl` = lower price, `Pu` = upper price)
- `deltaY = deltaL * (sqrt(P) - sqrt(Pl))`
- `deltaX = deltaL * (1 / sqrt(P) - 1 / sqrt(Pu))`
- For estimation of the amount of token0 (`deltaX`) and token1 (`deltaY`) we need to know `deltaL` that make:
- `deltaY * priceUSDY + deltaX * priceUSDX = depositAmountUSD`
- So we can write a equation like this:
- `deltaL * (sqrt(P) - sqrt(Pl)) * priceUSDY + deltaL * (1 / sqrt(P) - 1 / sqrt(Pu)) * priceUSDX = depositAmountUSD`
- Then: `deltaL = depositAmountUSD / ((sqrt(P) - sqrt(Pl)) * priceUSDY + (1 / sqrt(P) - 1 / sqrt(Pu)) * priceUSDX)`
- After we've calculated `deltaL`, we can calculate `deltaX` and `deltaY` using these formulas mentioned in Uniswap v3 Whitepaper
- `deltaY = deltaL * (sqrt(P) - sqrt(Pl))` (Formula: 6.29, P.8)
- `deltaX = deltaL * (1 / sqrt(P) - 1 / sqrt(Pu))` (Formula: 6.30, P.8)### 2. Calculate estimated fee
- Estimated fee (daily) can be calculated by this equation:
- `fee = feeTier * volume24H * (deltaL / (L + deltaL))` where:
- `volume24H` = average of 24h volume from `[currentDay - 7, currentDay - 1]`
- `L` = total liquidity (cumulative of `liquidityNet` from all ticks that `il <= ic`)
- `deltaL` = delta liquidity, can be calculated from:
- `liquidityAmount0 = amount0 * (sqrt(pu) * sqrt(pl)) / (sqrt(pu) - sqrt(pl))`
- `liquidityAmount1 = amount1 / (sqrt(pu) - sqrt(pl))`
- if `ic < il`; `deltaL = liquidityAmount0`
- if `ic > iu`; `deltaL = liquidityAmount1`
- if `ic >= il && ic <= iu`; `deltaL = min(liquidityAmount0, liquidityAmount1)`---
See more on how the [Uniswap Calculator works](https://poolfish.xyz/blog/how-it-works).
Crafted with ๐งก by [@noahwbragg](https://twitter.com/noahwbragg). Previously [@chunrapeepat](https://twitter.com/chunrapeepat).