Fee sharing hook on Arbitrum
Uniswap v4 Hook Contract 0x00aa7f4e36f16569c2db547e93dcea559d9700cc on Arbitrum · Fee sharing
- Volume (24h)
- $0
- Value locked (TVL)
- $8.75
- All-time volume
- $56
- Pools using this hook
- 3
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 3
What it does
A fee-sharing hook that takes a portion of swap fees on pools it is attached to and splits them between a protocol treasury, creators and token holders.
This read was written for the hook 0xcca1…80cc 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
- Runs beforeSwap to validate the swap and compute the hook fee
- Uses return deltas to take a fee portion from swap amounts
- Runs afterSwap to record accrued creator and holder balances
- Splits accrued fees between creator, holder dividend and protocol treasury using configured bps shares
- Lets creators claim pending fees via claimCreatorFees
- Stores per-pool launch configuration keyed by token id
- Swap behaviour
- beforeSwap and afterSwap callbacks run on every swap, and the hook adjusts swap deltas to collect its fee share.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Fees appear to be split between a creator share (BASIC_CREATOR_FEE_SHARE_BPS), a holder dividend share (BASIC_HOLDER_DIVIDEND_SHARE_BPS) and a protocol treasury, with total fee bounded by MIN_TOTAL_FEE_BPS and MAX_TOTAL_FEE_BPS. Fee amounts are taken through the return-delta path rather than as the pool's static fee; exact math cannot be confirmed without source.
- Owner & admin controls
- Owner (two-step ownership via transferOwnership/acceptOwnership) can set the protocol treasury (setProtocolTreasury), whitelist-style mapping flags via 0x0fc944e5, and call 83ab9227/8e324fb2 which write per-pool configuration (fee shares, mode, addresses and bps parameters). Owner can also transfer ownership at any time.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap: validates the swap and computes the hook's fee/delta before execution. afterSwap: accounts fees and dividend/creator balances after execution. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take a portion of the swap amounts as its fee share.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: The owner can reconfigure per-pool fee splits, treasury address and launch/registration flags, and can take over ownership in a two-step handover. A malicious or compromised owner could redirect fee shares to a chosen address or change the total fee within configured bounds.
Risk to user funds: The hook can take a share of swap amounts via return deltas and holds accrued creator and holder balances. Owner changes to treasury and fee split affect how those amounts are distributed; users cannot be blocked by a pause since no pause selector was identified.
Security findings
- [medium] Owner can redirect fee destinations: Owner-controlled setters (setProtocolTreasury and pool configuration writes via 83ab9227/8e324fb2) can change where fees are sent and how they are split.
- [medium] Return-delta hook takes swap value: The hook takes tokens through beforeSwapReturnDelta and afterSwapReturnDelta, so it has custody-like effect on swap amounts.
- [low] Creator fee accounting unverified: Pending creator fees are stored per id and claimed via claimCreatorFees; accounting correctness depends on unverified logic.
- [info] Two-step ownership present: Two-step ownership (acceptOwnership) is present, which reduces accidental transfer risk.
Contract details
- Verified source
- No
- Bytecode size
- 10,205 bytes
- Upgradeable proxy
- No
- Detected patterns
- ownable, return-delta
Pools using Fee sharing hook
- MBS7824 / WETH (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- BWS5666 / WETH (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- BWS3991 / WETH (0.00% fee) — 24h volume $0, TVL $8.75, 0 swaps today