Dynamic fee hook on Robinhood Chain
Uniswap v4 Hook Contract 0x71b971dabd4c91b3ed84e5e35d6237d5ef8550cc on Robinhood Chain · Dynamic fee
- Volume (24h)
- $0
- Value locked (TVL)
- $90
- All-time volume
- $0
- Pools using this hook
- 2
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
This hook charges traders a governor-configurable, capped swap fee and tax that goes to a fee recipient, while LPs can add and withdraw liquidity freely.
This read was written for the hook 0x4889…d0cc on Robinhood Chain 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
- Charges a per-pool swap tax and base fee, collected through swap return deltas and sent to a fee recipient.
- Tracks the last pool tick after each swap, likely to adjust fees based on price movement.
- Lets a governor set per-pool settings (fees, tax, timing values), with a settings delay before changes apply.
- Has no liquidity callbacks, so LPs add and withdraw freely.
- Swap behaviour
- Before and after each swap the hook can take a fee or tax out of the swap amounts and credit it for the fee recipient. The exact rates depend on per-pool settings and price movement, and they cannot be fully confirmed from bytecode.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- The hook applies a configurable base fee and a swap tax, each limited by hard-coded maximums (MAX_BASE_FEE_PIPS and MAX_TAX_PIPS) whose exact values are not visible from bytecode. Collected amounts are taken from the pool and sent to a feeRecipient address.
- Owner & admin controls
- A governor can change per-pool fee, tax and timing settings, subject to a settings delay and the maximum fee and tax caps. The cap values themselves are not readable from the decoded bytecode.
Enabled Uniswap v4 callbacks
afterInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
afterInitialize: records the starting tick and pool setup; beforeSwap: works out the fee or tax and can adjust the swap input; afterSwap: updates the last tick and can take a cut of the output; beforeSwapReturnDelta/afterSwapReturnDelta: let the hook deduct its fee from swap amounts.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: A governor address controls per-pool fee and tax parameters, within hard-coded maximums and a time delay. The size of those maximums cannot be verified from bytecode.
Risk to user funds: The hook can deduct fees or tax from swap amounts, up to the unverified MAX_TAX_PIPS and MAX_BASE_FEE_PIPS caps, and send them to the fee recipient. LP principal cannot be locked or drained by this hook.
Security findings
- [medium] Governor-set swap tax: A governor can set per-pool tax and base fees, which are taken from swaps via return deltas. The changes are capped by MAX constants of unknown size and delayed by SETTINGS_DELAY.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook cannot block withdrawals or charge LPs on exit.
Contract details
- Verified source
- No
- Bytecode size
- 15,713 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, fee-sharing, moves-currency, return-delta
Pools using Dynamic fee hook
- gHOOD / USDG (Dynamic fee) — 24h volume $0, TVL $45, 0 swaps today
- gAIX / USDG (Dynamic fee) — 24h volume $0, TVL $45, 0 swaps today