Aggregator hook on Ethereum
Uniswap v4 Hook Contract 0xc2a64c6bd307a72a5b5c0ed0c1af1019d2462088 on Ethereum · Aggregator
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 11
What it does
This hook sends Uniswap v4 swaps to an external Curve-style stable pool and returns the result, so traders get that pool's pricing and fees, while LPs can still withdraw freely.
How it works step by step
- Routes swaps made on the Uniswap v4 pool through an external Curve-style stable pool, using its exchange, get_dy and get_dx pricing.
- Takes over the swap amounts in beforeSwap, so the trade is settled against the external pool rather than against v4 LP liquidity.
- Records which external pool coin index each v4 pool token maps to when the pool is initialized.
- Has a token jar address, apparently tied to the protocol fee controller, that may receive leftover tokens or fees.
- Provides a quote function and a pseudo TVL view based on the external pool's balances.
- Swap behaviour
- On each swap the hook takes the input tokens from the PoolManager, swaps them on the linked external Curve-style pool, and settles the output back, overriding the normal v4 swap math. Swaps can revert if the external pool lacks liquidity, and any extra fee or skim cannot be confirmed from bytecode.
- Liquidity behaviour
- Add and remove liquidity callbacks are not enabled in the address, so the hook never runs on LP actions and LPs can add and withdraw freely. The trading liquidity effectively comes from the external pool.
- Fee behaviour
- Pricing and fees come from the external Curve-style pool's exchange rate. Any additional fee sent to the token jar cannot be quantified from the bytecode.
- Owner & admin controls
- One storage address (the token jar) can be updated through an unnamed function; no fee-setting or pause controls are evident. Access rules for that setter are not verifiable from bytecode.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, beforeSwapReturnDelta
beforeInitialize: links the v4 pool tokens to the external pool's coin indices; beforeSwap: routes the trade to the external pool; beforeSwapReturnDelta: replaces the v4 swap amounts with the externally executed result.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: Some caller, likely an admin or the fee controller, can update the token jar address. No pause or fee-raising control is visible.
Risk to user funds: The hook handles each swapper's input and output tokens in transit through the external pool. The maximum deduction cannot be verified from bytecode, and LP principal cannot be locked by the hook.
Security findings
- [medium] Swaps fully routed via return delta: The hook replaces v4 swap amounts and settles trades against an external pool, so trade outcomes depend on that pool and on unverified code. Exact amounts kept, if any, cannot be confirmed.
- [low] Mutable token jar address: A stored recipient address can be changed by a callable function, which may redirect any collected fees or leftovers.
- [info] LP withdrawals unaffected: Remove-liquidity callbacks are disabled by the address bits, so the hook cannot block or charge LP withdrawals.
Contract details
- Verified source
- No
- Bytecode size
- 16,268 bytes
- Upgradeable proxy
- No
- Detected patterns
- aggregator, dynamic-fee, erc20, fee-sharing, launchpad, moves-currency, return-delta
Pools using Aggregator hook
- sUSDS / USDT (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today