Versioned, non-upgradeable contracts
PoolRegistry and StrategyManager are non-upgradeable contracts. PositionBuilder has immutable manager and Uniswap references. A changed protocol version requires a separately reviewed deployment rather than an in-place implementation upgrade.
StrategyManager holds the underlying Uniswap V3 NFTs. It exposes no arbitrary-call admin function, position rescue path, or user-strategy transfer function.
What the owner can do
- The StrategyManager owner can pause new strategy creation and later resume it.
- The StrategyManager owner can set the default protocol fee up to the contract maximum of 10%.
- The PoolRegistry owner can register canonical markets and enable or disable those markets for new creation.
- Each contract owner can begin a transfer through the two-step ownership mechanism.
What the owner cannot do
- The owner cannot seize user principal.
- The owner cannot collect or close a user’s strategy.
- The owner cannot change existing strategy bounds, distribution, owner, or fee snapshot.
- The owner cannot redirect accrued protocol fees away from the immutable treasury.
- A creation pause does not block fee collection or closing.
- Market disablement does not alter or trap an existing strategy.
Curated market boundary
PoolRegistry admits exact Factory-derived pools. Asset review excludes unsupported behavior such as fee-on-transfer, rebasing, or callback-capable tokens. Registration reduces the attack surface but is not a guarantee against loss.