Everything you have to believe can be checked
This website is not the source of truth for anything. The contract is, and it is open.
Addresses
| Manager contract | 0xA952fd0bC7b979b022B0a574Be54FdFe13e23587 |
| Uniswap pool | 0xC6962004f452bE9203591991D15f6b388e09E8D0 |
| USDC (native) | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 |
| WETH | 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1 |
Live contract parameters
The 50 / 30 / 20 split is written as a constant in the code: no governance can change it. The other parameters are configurable, but only within bounds that are also in the code and that governance cannot cross either.
What each key can do
| Role | Can | Cannot |
|---|---|---|
| Keeper | Move a range once it is due | Withdraw, harvest, deposit on anyone's behalf, choose where the range goes, touch an NFT |
| Governance | Adjust parameters within their bounds, pause deposits, change beneficiaries | Move anyone's funds, raise the fee, stop you withdrawing |
| You | Deposit, harvest, withdraw, pull the NFT out — always, without permission | — |
The door that cannot be closed
withdraw(), harvest(), claimFees() and exitNFT() do not carry the pause check, and never will. They work in any state of the contract.
exitNFT() also queries no oracle and performs no swap: it transfers you the NFT of your position, and that is it. It still works with a broken pool, a manipulated oracle, or governance in hostile hands.