Dynamic fee hook on Robinhood Chain
Uniswap v4 Hook Contract 0xcb1acd2af11df3ab1c13b3c295b4a231fc810880 on Robinhood Chain · Dynamic fee
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $6.70M
- Pools using this hook
- 6
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 6,973
What it does
A Uniswap v4 hook that charges owner-configurable, tiered dynamic swap fees and can pause swaps or gate liquidity additions for selected addresses.
How it works step by step
- Selects a swap fee from tier one, two or three fees or a default fee based on stored thresholds and swap count
- Applies per-address fee overrides set by the owner
- Caps fees with a maximum LP fee constant
- Allows the owner to pause and unpause swaps
- Checks an address-based flag in beforeAddLiquidity to gate liquidity additions
- Exposes a full fee configuration getter and setter
- Swap behaviour
- beforeSwap returns a dynamic fee chosen from tier fees, default fee and per-address overrides, and reverts or blocks while the hook is paused. Swap counts per pool are tracked.
- Liquidity behaviour
- beforeAddLiquidity is implemented and may gate liquidity additions based on the address allowlist mapping (slot 5), which is read in beforeAddLiquidity. No liquidity removal callbacks are enabled.
- Fee behaviour
- Fees are tiered: tierOne, tierTwo and tierThree fees and a defaultFee are stored in storage, with thresholds (uint16 values) used to select a tier, likely based on swap count tracked per pool in swapCount mapping. The beforeSwap path returns a dynamic fee with the override flag, capped by MAX_LP_FEE. Per-address overrides can also set fees. Fee values are owner-configurable.
- Owner & admin controls
- Owner (slot 0) can transfer ownership, pause and unpause swaps via setPaused, set the default fee via setDefaultFee, update the full fee configuration via the 0x65a08c0e setter (tier fees and thresholds), set per-address fee overrides via 0xc94e2375, and toggle a per-address flag via 0x6e0db89c. Ownership transfer is via 0xf2fde38b. No upgrade mechanism was identified.
Enabled Uniswap v4 callbacks
beforeAddLiquidity, beforeSwap
beforeSwap: selects and returns a dynamic swap fee for each swap based on tier and per-address configuration. beforeAddLiquidity: checks an address-based flag before allowing liquidity to be added.
Security & trust assessment
Risk level: medium (decoded bytecode, medium confidence).
Who controls it: The owner can pause all swaps, change all fee tiers and thresholds up to the fee cap, set per-address fee overrides, and gate liquidity additions for specific addresses. A malicious or compromised owner could raise fees sharply on swaps or block swaps entirely.
Risk to user funds: The hook does not appear to hold tokens or use return deltas; it affects user funds indirectly by setting swap fees and by pausing or gating swaps and liquidity additions, rather than custodying assets.
Security findings
- [medium] Owner can pause swaps: setPaused lets the owner halt swap execution, which would block trading while the pool stays live.
- [medium] Owner-controlled dynamic fees: The owner can set fee tiers and defaults via setDefaultFee and the fee configuration setter; values are bounded by MAX_LP_FEE per the selector set, but still allow high fees for users.
- [low] Single-step ownership transfer: Ownership transfer is a single step (transferOwnership), so an accidental transfer to a wrong address is irreversible.
- [low] Per-address privileges: Address-based flags and fee overrides allow the owner to treat specific addresses differently from others.
Contract details
- Verified source
- No
- Bytecode size
- 7,304 bytes
- Upgradeable proxy
- No
- Detected patterns
- ownable, pausable
Pools using Dynamic fee hook
- ETH / USDG (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- USDG / NVDA (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / NVDA (0.0001% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / NVDA (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / NVDA (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / NVDA (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today