Fee sharing hook on Ethereum
Uniswap v4 Hook Contract 0x1b15b1a9df975ee5c302429e23b8e45e8b8d28cc on Ethereum · Fee sharing
- Volume (24h)
- $479
- Value locked (TVL)
- $0
- All-time volume
- $479
- Pools using this hook
- 1
- Swaps (24h)
- 3 (2 traders)
- Total swaps
- 3
What it does
A single-pool hook that takes a fixed, unverified percentage cut from every swap and pays it to a hard-coded owner, while LPs can add (subject to checks) and withdraw freely.
How it works step by step
- Locks itself to a single pool on first initialization; only one pool can be created with this hook.
- Takes a cut (CUT_BPS, exact value not readable from bytecode) from swaps using swap return deltas and records it as owed.
- Accrued fees can be paid out to a fixed owner/token address through pay() and accrue() functions that settle via the PoolManager.
- Checks new liquidity positions in beforeAddLiquidity, likely enforcing a tick spacing or open-tick rule.
- Has no remove-liquidity callbacks, so LP withdrawals are never touched.
- Swap behaviour
- On every swap the hook runs before and after the trade and can deduct a percentage cut from swap amounts using return deltas. The exact cut is a hard-coded constant that cannot be read from the decoded bytecode.
- Liquidity behaviour
- Adding liquidity passes through a check that may reject positions not matching the hook's tick or spacing rules. Remove-liquidity callbacks are disabled, so LPs can always withdraw freely.
- Fee behaviour
- A fixed cut (CUT_BPS constant) is taken from swaps and tracked as owed, then paid to a hard-coded recipient (likely OWNER or TOKEN-related). The exact percentage is unknown from bytecode, but it appears to be an immutable constant rather than admin-adjustable.
- Owner & admin controls
- No setter functions for fees or recipients were found; OWNER, TOKEN, CUT_BPS and SPACING appear to be immutable constants. One unnamed boolean-taking function exists whose purpose is unknown.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: binds the hook to one pool; beforeAddLiquidity: validates LP positions; beforeSwap: applies the cut on input side; afterSwap: applies or records the cut on output side; beforeSwapReturnDelta/afterSwapReturnDelta: let the hook deduct its cut from swap amounts.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: Values appear immutable with a fixed OWNER address receiving accrued fees; no fee-changing admin functions were identified, though one unnamed boolean function is unclear.
Risk to user funds: Traders pay a fixed but unverified percentage cut on swaps; LP principal sits in the PoolManager and cannot be locked or taxed by this hook.
Security findings
- [medium] Unverified swap fee cut: The hook can deduct tokens from swaps via return deltas, and the cut size is a constant that cannot be confirmed from bytecode.
- [low] Unknown boolean toggle: An unnamed function taking a boolean exists; it could be a switch affecting swaps, but its effect cannot be determined.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook cannot block or charge LP withdrawals.
Contract details
- Verified source
- No
- Bytecode size
- 5,994 bytes
- Upgradeable proxy
- No
- Detected patterns
- return-delta, self-unlock
Pools using Fee sharing hook
- ETH / PANTHA (0.00% fee) — 24h volume $479, TVL $0, 3 swaps today