Likely dynamic fee hook on Ink
Uniswap v4 Hook Contract 0x123d2fcf72511c296f035157a1ea3d9bfebd8080 on Ink · Dynamic fee
- Volume (24h)
- $2.03
- Value locked (TVL)
- $22
- All-time volume
- $121
- Pools using this hook
- 5
- Swaps (24h)
- 52 (16 traders)
- Total swaps
- 2,376
What it does
A Uniswap v4 hook that applies a dynamic swap fee to pool trades via beforeSwap, with fee previewing and parameter getters exposed for traders and LPs.
This read was written for the hook 0xea95…4080 on Arc 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
- Overrides the pool fee on each swap through the beforeSwap callback
- Exposes previewFee so frontends can quote the fee before execution
- Reads a baseFeePips parameter as the starting fee level
- Uses an impactThresholdBps parameter as a size threshold for fee adjustment
- Ignores liquidity add, remove and donate events apart from exposed selectors
- Swap behaviour
- beforeSwap computes and returns a fee override for each swap, using a base fee and an impact threshold; previewFee exposes the same calculation off-chain.
- Liquidity behaviour
- Liquidity add and remove callbacks are present as selectors but their logic cannot be confirmed from the decoded bytecode alone.
- Fee behaviour
- Exposes previewFee and baseFeePips and an impactThresholdBps getter, suggesting a dynamic fee computed from swap parameters in beforeSwap; exact formula cannot be determined without source.
- Owner & admin controls
- No admin controls found in the decoded selectors; no owner, pause or setter functions were identified beyond view getters.
Enabled Uniswap v4 callbacks
beforeSwap
beforeSwap is enabled and used to compute a fee override for each swap based on swap size and pool state.
Security & trust assessment
Risk level: low, estimated (decoded bytecode, low confidence).
Who controls it: No privileged functions were identified in the decoded selectors, so no single key appears able to change fees or pause the hook.
Risk to user funds: The hook only has beforeSwap enabled and no return-delta permissions, so it does not take custody of tokens or move pool funds; its effect is limited to the swap fee it returns.
Security findings
- [info] Unverified source: Source is not verified, so the exact fee logic and any parameter bounds cannot be confirmed from the bytecode.
- [low] Fee parameters mutability unclear: The hook reads a base fee and an impact threshold; if these are immutable or set at deployment the risk is low, but the storage layout is empty so mutability is unclear.
- [info] Standard error paths present: The bytecode references HookNotImplemented and SafeCastOverflow errors, indicating a standard hook shape with checked arithmetic on swap amounts.
Contract details
- Verified source
- No
- Bytecode size
- 7,291 bytes
- Upgradeable proxy
- No
Pools using Likely dynamic fee hook
- ETH / ANITA (Dynamic fee) — 24h volume $2.03, TVL $7.63, 52 swaps today
- ETH / ICAT (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / BERT (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / OTO (Dynamic fee) — 24h volume $0, TVL $15, 0 swaps today
- ETH / kBTC (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today