Dynamic fee hook on Base
Uniswap v4 Hook Contract 0x67b76760bf76dbd9d92d0d1599253685fba980c0 on Base · Dynamic fee
- Volume (24h)
- $5.03
- Value locked (TVL)
- $0
- All-time volume
- $5.03
- Pools using this hook
- 1
- Swaps (24h)
- 1 (1 traders)
- Total swaps
- 1
What it does
This unverified hook charges an owner-set dynamic swap fee, which can differ for approved quoters versus other traders and steps up or down automatically, and it manages limit-style bids that auto-close after swaps, while LPs adding directly to the pool can withdraw freely.
How it works step by step
- Sets a dynamic swap fee on each trade, with a separate fee level for approved quoter addresses and a settle fee for other traders.
- Can automatically step the fee up or down within a configured floor and ceiling based on recent fills.
- Lets users place bids (limit-style liquidity positions at a chosen tick) that the hook adds to the pool and can auto-close after swaps cross them.
- Users can cancel their own bids, and the hook removes that liquidity and returns the tokens.
- The owner can set fee levels, manage the quoter list and toggle auto-close.
- Swap behaviour
- Before each swap the hook picks a fee, which can differ for approved quoters versus other traders and can step up or down automatically. After the swap it may close bids the price has crossed. It cannot take tokens from swaps through return deltas.
- Liquidity behaviour
- No liquidity callbacks. LPs who add liquidity directly to the pool can withdraw freely. Bids placed through the hook become hook-owned positions that are closed by auto-close or by cancel.
- Fee behaviour
- Uses a dynamic LP fee chosen per swap from owner-set values, including a quote fee, a settle fee and a floor with step-up and step-down sizes. Exact caps cannot be confirmed from bytecode, though a BadFee check suggests some validation. Fees go to pool liquidity providers.
- Owner & admin controls
- The owner can set the fee values and fee step parameters, add or remove quoters, and toggle auto-close. Exact maximum fee bounds are not verifiable from bytecode.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap
beforeSwap: chooses the dynamic fee based on caller type and the step logic; afterSwap: records fills and auto-closes crossed bids.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: A single owner sets the fees, the quoter allowlist and the auto-close setting. The worst case is high or discriminatory swap fees, up to an unverified cap.
Risk to user funds: The hook cannot deduct tokens from swaps or block normal LP withdrawals. It does hold liquidity for user bids it manages, and the fee range is not verifiable from bytecode.
Security findings
- [medium] Owner-set dynamic fees with unverified cap: The owner can change the swap fee levels, and a BadFee error suggests a cap exists, but its value cannot be confirmed from bytecode.
- [low] Quoter-based fee discrimination: Allowlisted quoter addresses can receive a different fee than other traders, as chosen by the owner.
- [low] Hook custody of bid positions: Bid liquidity is held as hook-owned positions, so returning those funds depends on the hook's cancel and auto-close logic working correctly.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks and return deltas are disabled, so the hook cannot block withdrawals or skim swap amounts.
Contract details
- Verified source
- No
- Bytecode size
- 11,124 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, erc20, moves-currency, ownable, self-unlock
Pools using Dynamic fee hook
- ETH / RSGP (Dynamic fee) — 24h volume $5.03, TVL $0, 1 swaps today