Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x42b45ef9514e1ae3606f148460219193e0f630c4 on Robinhood Chain · Fee sharing
- Volume (24h)
- $2.08K
- Value locked (TVL)
- $1.82K
- All-time volume
- $44.98K
- Pools using this hook
- 2
- Swaps (24h)
- 41 (21 traders)
- Total swaps
- 463
What it does
A Uniswap v4 hook that takes a share of swap output as fees and tracks accrued fees for creators, with per-pool fee settings and claim/bounty payouts.
How it works step by step
- Hooks pool initialization to record per-pool configuration
- Sets and quotes pool-specific fees via setFee and quoteFee
- Takes a share of swap output through afterSwapReturnDelta
- Accrues fees per pool and creator, tracked by accrued and owed views
- Pays creator payouts and bounties through setCreatorPayout, payBounty and claimFees
- Swap behaviour
- beforeSwap and afterSwap run custom logic, and afterSwapReturnDelta lets the hook take a return delta from swap output to accrue fees.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity, afterRemoveLiquidity and beforeDonate/afterDonate are exposed as view-style selectors, suggesting they only validate or observe liquidity actions without holding funds.
- Fee behaviour
- Fees appear to be configurable per pool via setFee and quoted via quoteFee(bytes32,bool,uint256); fee accrual is tracked in storage (accrued, owed, claimFees) and paid out to creators or claimants, but exact fee formulas are not recoverable from the decoded input.
- Owner & admin controls
- Selectors for setFee(bytes32,uint24), setCreatorPayout(bytes32,address), claimFees(address), payBounty(bytes32,address) and a guardian()/guardianExpiresAt() pair indicate privileged roles controlling fee levels, creator payouts and fee claims; exact owner or guardian gating cannot be confirmed without source.
Enabled Uniswap v4 callbacks
beforeInitialize, afterInitialize, beforeSwap, afterSwap, afterSwapReturnDelta
beforeInitialize and afterInitialize record pool configuration; beforeSwap and afterSwap run fee and accounting logic; afterSwapReturnDelta lets the hook take a share of the swap output as a return delta to fund fees or payouts.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: Privileged keys referenced by setFee, setCreatorPayout, claimFees and payBounty could change fee rates, redirect creator payouts or pay bounties, so a compromised key could divert fee revenue.
Risk to user funds: The hook sits in swap and liquidity paths and can take a share of swap output via its return delta and hold accrued fees for creators, so it can affect user proceeds and hold pool-related balances; blocking of swaps is not evident from the selectors.
Security findings
- [medium] Return delta takes swap output: afterSwapReturnDelta is enabled, so the hook can take a portion of each swap's output token from the pool, directly affecting trader proceeds.
- [medium] Owner-settable pool fee: setFee(bytes32,uint24) is a nonpayable admin-style function that sets per-pool fees; an unbounded or unchecked fee value could be set high.
- [info] Guardian role present: A guardian role with an expiry timestamp is present, suggesting an emergency or override authority whose powers cannot be confirmed from bytecode alone.
- [info] Unverified source: Source is unverified, so function names beyond selectors are unknown and the exact access checks on privileged functions cannot be confirmed.
Contract details
- Verified source
- No
- Bytecode size
- 27,785 bytes
- Upgradeable proxy
- No
- Detected patterns
- return-delta
Pools using Fee sharing hook
- PULSE / USDG (Dynamic fee) — 24h volume $1.64K, TVL $314, 34 swaps today
- TEST / USDG (Dynamic fee) — 24h volume $441, TVL $1.50K, 7 swaps today