Contracts
Every address and every check, so you can verify the whole thing yourself rather than trust us.
The chain
Our contracts
You can derive any vault address yourself. There is no checked-in list to go stale: addresses come from the factory's own mapping in a single call, and each one is reproducible from public information alone, because the salt that determines it commits to the exact implementation and to every parameter the vault carries. One pool can hold several vaults, and you never have to take our word for which is which.
Contracts we depend on
The source
Four contracts and two libraries, built with solc 0.8.26. Small enough to read in an afternoon, which is rather the point when nothing can be upgraded later.
What the factory refuses
Anyone can deploy a vault, and every one of these checks runs on chain before they can. This is what makes a permissionless factory safe to use: a vault wrapped around something that merely looks like a Uniswap pool cannot be created in the first place.
- The fee tier must be one this factory accepts. The tier is read from the pool and the pool is then proven with it, rather than trusting a tier supplied by the caller.
- The pool must be the canonical Uniswap pool for its two tokens at that tier. This is the load-bearing check: anything can implement the pool interface and report whatever it likes, and only Uniswap's own factory can say which address is really the pool.
- Its price oracle must carry at least 120 observations, twice what the vault's 60-second average price asks for. A pool records at most one observation per second, so a floor equal to the window would leave it a second short of the question.
- Neither token may use more than 18 decimals. Not a proof of safety, an honesty bound: the maths is exercised against 6 and 18 decimal tokens and nothing wider, so wider tokens are refused rather than deployed untested.
- The deposit cap must be set, and no larger than the pool's own liquidity. A cap is the only protection a vault with no governor has, so it has to exist.
