Aggregator hook on Base
Uniswap v4 Hook Contract 0xf5a65c2f2b12f7f31df25653d6f415b7773aa888 on Base · Aggregator
- Volume (24h)
- $0
- Value locked (TVL)
- $2.89M
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
Swaps on this pool are filled by a linked Curve stablecoin pool. Router users pay a fixed vault fee between 0% and 1%, while four hard-coded team contracts trade fee-free, and no one can add liquidity to the v4 pool.
This read was written for the hook 0x73c4…6888 on Arbitrum and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.
How it works step by step
- Routes every swap on this Uniswap v4 pool through a single Curve StableSwap NG pool, so traders get Curve's stablecoin pricing.
- Supports both exact-input and exact-output swaps, settling the whole trade inside the swap so the v4 pool itself holds no liquidity.
- Charges an optional fixed vault fee, set at deployment and capped at 1% of the swap's unspecified-side amount. It goes to an immutable vault address.
- Up to four fixed addresses (the team's own contracts calling the PoolManager directly) are exempt from the fee. Users going through routers always pay it.
- Blocks anyone from adding liquidity to the v4 pool. Anyone can sweep leftover rounding dust to the vault.
- Swap behaviour
- Before each swap, the hook takes the trader's input from the PoolManager, swaps it on the linked Curve pool, and returns the output, fully replacing the v4 pool's own pricing. If a fee is configured, it is deducted from the output (exact-in) or added to the input (exact-out). Slippage protection is left to the router, since Curve is called with no minimum output.
- Liquidity behaviour
- Adding liquidity always reverts, so the v4 pool holds no LP funds. Remove-liquidity callbacks are disabled, so the hook can never block withdrawals.
- Fee behaviour
- A fixed fee set at deployment, between 0% and a hard cap of 1%, is charged on the swap's unspecified-side amount and sent to the immutable vault. Up to four hard-coded exempt addresses pay nothing; Curve's own pool fee also applies inside the Curve trade.
- Owner & admin controls
- No admin controls found. The fee rate, vault, Curve pool, and exempt addresses are all immutable, and changing them requires a new deployment.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta
beforeInitialize: checks that both tokens belong to the configured non-meta Curve pool and approves Curve to spend them. beforeAddLiquidity: rejects all liquidity additions. beforeSwap: executes the trade on Curve and takes the vault fee. beforeSwapReturnDelta: replaces the v4 swap amounts with the Curve result minus the fee.
Security & trust assessment
Risk level: low, estimated (decoded bytecode, high confidence).
Who controls it: There is no owner or admin key. All parameters are immutable, and the only privileged effect is that fees and swept dust go to a fixed vault address.
Risk to user funds: The hook only touches swap amounts while a trade is executing, deducting at most a 1% fee. No LP funds exist in the v4 pool, since liquidity additions are blocked, so nothing can be locked or drained.
Security findings
- [info] Fixed fee capped at 1%: The vault fee is set once at deployment, can never exceed 1%, and has no setter.
- [info] Fee exemptions for team contracts: Up to four immutable addresses skip the fee, but only when they call the PoolManager directly; ordinary routed users always pay the configured rate.
- [low] No slippage check at Curve: The Curve trade uses a minimum output of zero, so traders rely on their router's slippage limit for protection.
Contract details
- Verified source
- No
- Bytecode size
- 14,573 bytes
- Upgradeable proxy
- No
- Detected patterns
- aggregator, moves-currency, return-delta
Pools using Aggregator hook
- WETH / superOETHb (0.00% fee) — 24h volume $0, TVL $2.89M, 0 swaps today