Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x8a3ca4c2740ff22f98c7b21871d24931924c60cc on Robinhood Chain · Fee sharing
- Volume (24h)
- $23
- Value locked (TVL)
- $23
- All-time volume
- $23
- Pools using this hook
- 1
- Swaps (24h)
- 2 (2 traders)
- Total swaps
- 2
What it does
Swaps in pools using this hook pay an extra controller-set fee taken from the swap and held for later release, while LPs can add and withdraw freely.
This read was written for the hook 0x9254…a0cc on Base 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-token fee on swaps, with the fee rate set per token address (likely per currency) and stored in a mapping.
- Takes the fee out of swaps using return deltas and tracks the amount accrued per token or recipient.
- Accrued fees can be paid out through a release function.
- A one-time bind step links the hook to a controlling address (likely a factory or owner), and that address sets the fee rates.
- Liquidity add and remove are never routed through this hook.
- Swap behaviour
- On each swap the hook looks up a fee rate tied to a token address and deducts that fee from the swap amounts via return deltas, adding it to an accrued balance. The exact fee formula and any cap cannot be confirmed from bytecode.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- Adds a hook fee on top of the pool fee, using a per-token rate stored as a 24-bit value (likely pips, so up to about 1677%, i.e. no clear on-chain cap is visible). Fees accrue inside the hook for later release to the configured recipient.
- Owner & admin controls
- The bound controller address (set once via bind) can set fee rates per token address; no hard cap is visible in bytecode. Release of accrued fees appears gated to the controller or recipient.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: checks pool setup against the bound controller; beforeSwap: applies the fee before the swap; afterSwap: applies or records the fee after the swap; beforeSwapReturnDelta/afterSwapReturnDelta: lets the hook deduct its fee from swap amounts.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: A single bound controller address sets fee rates and can release accrued fees. It cannot touch LP principal but may be able to raise swap fees without a verified cap.
Risk to user funds: The hook can deduct a fee from traders' swap amounts at a rate set by the controller; the maximum is not verifiable from bytecode. LP principal cannot be locked or drained.
Security findings
- [medium] Admin-set swap fee, cap unverified: A privileged address can set a per-token fee stored as a 24-bit value and deducted from swaps via return deltas; no maximum could be confirmed from bytecode.
- [info] LP withdrawals unaffected: Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.
- [info] Not upgradeable: Direct contract with no proxy; the bind target can only be set once.
Contract details
- Verified source
- No
- Bytecode size
- 3,247 bytes
- Upgradeable proxy
- No
- Detected patterns
- ownable, return-delta
Pools using Fee sharing hook
- ETH / RTD (0.00% fee) — 24h volume $23, TVL $23, 2 swaps today