Individual skill
uniswap-math
Use when working with Uniswap pricing math, tick calculations, liquidity formulas, or Q64.96 fixed-point arithmetic. Covers TickMath, SqrtPriceMath, SwapMath, FullMath, TickBitmap, LiquidityAmounts, Position library, and all key formulas for concentrated liquidity AMMs.
skills/uniswap-math/SKILL.md
Source commit a53141f10a1bbf9c634e44af6bc5a29dd1660697
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Instructions only
- Last checked
- Nov 7, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 132
- Repository last updated
- Oct 23, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Read excerpt
# Uniswap Concentrated Liquidity Math
## Q64.96 Fixed-Point Arithmetic
Uniswap V3/V4 stores prices as Q64.96 fixed-point numbers representing the **square root** of the price ratio. This encoding fits in `uint160` and enables efficient swap math without division.
```
sqrtPriceX96 = √(price) × 2⁹⁶
```
- 64 bits for the integer part, 96 bits for the fractional part
- Stored as `uint160` — fits alongside `int24 tick` and `uint128 liquidity` in the pool's `Slot0`
- Price of token1 in terms of token0: `price = (sqrtPriceX96 / 2⁹⁶)²`
- Inverse conversion: `sqrtPriceX96 = √(price) × 2⁹⁶`