Fee sharing hook on World Chain
Uniswap v4 Hook Contract 0x03f4051e621ee3f3652adef2c453458a777e40cc on World Chain · Fee sharing
- Volume (24h)
- $0
- Value locked (TVL)
- $12
- All-time volume
- $1.38K
- Pools using this hook
- 14
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 231
What it does
Takes a flat 10 bps fee on every exact-input and exact-output swap through the pool and splits it among five hardcoded addresses, with no owner, setter, or way to skip it.
This read was written for the hook 0xf123…80cc on Ethereum 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 10 basis points (0.1%) of the swap amount on each swap that has a nonzero fee, using the specified side for exact-input swaps and the unspecified output side for exact-output swaps.
- Takes the fee to the hook contract itself through the pool manager's take function, in the same unlock as the swap.
- Splits each fee into eighths: 1/8 to STACC, 2/8 to DEPLOYER, 2/8 to PART2, 1/8 to PART1A, and 2/8 plus rounding dust to PART1B.
- Books each share in an owed[currency][recipient] ledger rather than transferring it to recipients during the swap, so a failing recipient cannot revert swaps.
- Lets anyone call claim or claimAll to pay out accrued balances to the recipients, with failed transfers left owed.
- Swap behaviour
- beforeSwap takes the fee on the specified currency for exact-input swaps and returns a positive specified delta so the pool manager accounts for it. afterSwap takes the fee on the unspecified output currency for exact-output swaps and returns it as an unspecified delta. Swaps with zero computed fee (for example very small amounts) pass through unchanged.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- A fixed 10 bps fee on swap amounts, taken by the hook through return deltas on top of the pool's own fee, then divided among five fixed recipients. Not configurable.
- Owner & admin controls
- No admin controls found. The fee, recipients, and split are constants, and there is no owner, pause, setter, or upgrade path.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap takes the specified-side fee and returns a before-swap delta; afterSwap takes the unspecified-side output fee and returns an after-swap delta; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to alter the amounts the pool settles for the trader.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, high confidence).
Who controls it: No privileged key or owner exists. Recipients cannot be changed, and no party can pause or alter swaps. The only effect of centralization is that the five fixed addresses collectively receive all fees.
Risk to user funds: The hook takes up to 0.1% of swap amounts from the pool during swaps and holds them until claimed. It cannot block swaps because claims are best effort and fee transfers only go to the hook, though misbehaving token transfers could strand accrued owed balances.
Security findings
- [info] Hardcoded, non-changeable fee and recipients: FEE_BPS, the five recipient addresses and the split ratios are constants, so no party can alter the fee or redirect payouts after deployment.
- [medium] Every swap pays a fee to fixed addresses: The hook takes 10 bps of every eligible swap via return deltas, so traders on pools using this hook pay this extra cost on top of the pool fee, and the recipients receive it irrespective of pool usage.
- [low] Pull-based payouts with best-effort claims: Recipient shares are credited to owed balances held by the hook, and claim returns false instead of reverting on failed transfers, so funds can stay stuck if a recipient cannot receive a token (for example a blocklisted address or a non-payable contract).
- [low] Hook holds accrued funds: The hook contract holds unclaimed fees in both native and ERC-20 currencies and depends on token transfer behaviour for payout; a token whose transfer misbehaves could leave balances stranded, though only the owed ledger amounts are at risk.
- [info] Custom accounting through return deltas: Because beforeSwapReturnDelta and afterSwapReturnDelta are enabled, the hook alters settled amounts, so pool integrators should verify the fee accounting matches their expectations.
Contract details
- Verified source
- No
- Bytecode size
- 4,897 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using Fee sharing hook
- ETH / OMNI (0.30% fee) — 24h volume $0, TVL $4.47, 0 swaps today
- ETH / OMNI (0.30% fee) — 24h volume $0, TVL $0.35, 0 swaps today
- wMXN / SOHES (0.0075% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- ETH / heehee420 (0.30% fee) — 24h volume $0, TVL $0.84, 0 swaps today
- ETH / hello, world (0.30% fee) — 24h volume $0, TVL $0.84, 0 swaps today
- ETH / SWOS (0.30% fee) — 24h volume $0, TVL $0.84, 0 swaps today
- ETH / STACC HAT (0.30% fee) — 24h volume $0, TVL $0.84, 0 swaps today
- ETH / 3ETH (0.30% fee) — 24h volume $0, TVL $0.36, 0 swaps today
- ETH / SWO (0.30% fee) — 24h volume $0, TVL $0.36, 0 swaps today
- ETH / TARD (0.30% fee) — 24h volume $0, TVL $0.84, 0 swaps today
- ETH / SWO (0.30% fee) — 24h volume $0, TVL $1.21, 0 swaps today
- ETH / OMNI (0.30% fee) — 24h volume $0, TVL $0.84, 0 swaps today
- OMNI / heehee420 (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- SWOS / OMNI (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today