FeeSplitLib on Ink
Uniswap v4 Hook Contract 0x33200d9521ed99afbda8575f05348a583c7aaac8 on Ink · Fee sharing · Verified contract
- Volume (24h)
- $8.15
- Value locked (TVL)
- $2.89K
- All-time volume
- $139.05K
- Pools using this hook
- 16
- Swaps (24h)
- 3 (1 traders)
- Total swaps
- 3,379
What it does
This hook splits each pool's swap fees between creators, the protocol and a hook-tax pot that funds modules such as floor backing, auto-burn, holder airdrops and buybacks, but the exact fee amounts and which trades pay more or less cannot be determined from the truncated source.
How it works step by step
- Hook is a proxy; implementation FeeSplitLib-linked fee router runs its logic via delegatecall, and the verified source shown is the library FeeSplitLib plus its dependencies.
- Splits swap fees from the pool into a base split (creator escrow, protocol share, hook-tax pot) and routes the hook-tax pot to modules such as floor vault, auto-burn, deepen-LP, holder airdrop, and creator buyback.
- Uses the PoolManager's ERC-6909 claims or raw token transfers to move fee amounts to distributor, escrow, buyback, floor vault and airdrop vault contracts.
- Optional anti-snipe and max-transaction gating are configured through a packed bitmask of launch modules.
- Can convert hook-tax fees into holder airdrops and buyback credits, with vesting schedules for creator proceeds.
- Swap behaviour
- beforeSwap and afterSwap are enabled and beforeSwapReturnDelta is set, so the hook can take a cut of swap fees and can gate or adjust swaps (anti-snipe, max-tx, dynamic fee logic); the exact per-trade fee and any buy/sell asymmetry cannot be fully determined from the truncated source.
- Liquidity behaviour
- beforeAddLiquidity and beforeRemoveLiquidity are enabled; their logic was not visible in the provided input, so the exact restrictions cannot be determined.
- Fee behaviour
- Fees are split from swap fee amounts: a hook-tax portion (hookTaxBps, capped at 10 percent total with the 60/10/30 base split) is routed to modules; the rest is split between creator, protocol and HKT share according to the library's splitBaseFee logic.
- Owner & admin controls
- Proxy is upgradeable; the implementation is controlled by an owner-set configuration. The owner (Owned contract) can set operators, change distributor/vault targets through setters, and set NFT strategy and buyback executor addresses. Exact upgrade authority of the proxy could not be determined from the input.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta
beforeInitialize validates pool setup; beforeAddLiquidity and beforeRemoveLiquidity gate or observe liquidity changes; beforeSwap and afterSwap apply anti-snipe/max-tx checks and fee routing; beforeSwapReturnDelta lets the hook take fee amounts as a return delta from swaps.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: A proxy admin or the owner of the distributor and vault contracts could upgrade the implementation, change operators, redirect fee destinations, or alter buyback and airdrop targets, affecting all fees collected by pools using this hook.
Risk to user funds: The hook can take a portion of swap fees via return deltas and transfer them to distributor, escrow, floor vault and airdrop contracts; it does not hold a general user-funds pool, but a malicious upgrade could divert fee flows.
Security findings
- [medium] Upgradeable proxy: The hook is a proxy delegating all calls to implementation 0xf8122f221f54c382da9eb6218110556097eaa868; the implementation can be swapped by whoever controls the proxy admin, changing fee routing for all pools using the hook.
- [medium] Return-delta fee capture: beforeSwapReturnDelta lets the hook take fee amounts from swaps and route them to external vault contracts, so a malicious or buggy implementation could redirect a large share of trader value.
- [medium] Owner-set routing targets: Owned contracts (distributor, escrow, floor vault, buyback vault, airdrop vault) accept operator and owner configuration; a privileged key can set operators and reroute module cuts.
- [low] Pause and gating from before-callbacks: beforeSwap and liquidity callbacks can revert, so anti-snipe or max-tx rules could block swaps or liquidity actions if configured aggressively.
Contract details
- Verified source
- Yes (FeeSplitLib)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 23,148 bytes
- Upgradeable proxy
- Yes
- Detected patterns
- erc20, fee-sharing, return-delta, upgradeable
Pools using FeeSplitLib
- ETH / TMPLRS (0.00% fee) — 24h volume $8.15, TVL $2.34K, 3 swaps today
- ETH / OCTSTRGY (0.00% fee) — 24h volume $0, TVL $262, 0 swaps today
- INKY / USDG (0.00% fee) — 24h volume $0, TVL $15, 0 swaps today
- ETH / PRTS (0.00% fee) — 24h volume $0, TVL $134, 0 swaps today
- ETH / OTOBURN (0.00% fee) — 24h volume $0, TVL $134, 0 swaps today
- LALACAT / wAAPLx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / TORCH (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- ETH / TSUNAMI (Dynamic fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- LALACAT / wMCDx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- LALACAT / wNVDAx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- SPDR / wSPYx (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- LALACAT / wTSLAx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- wMSTRx / LALACAT (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- wMSTRx / INKY (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- wTSLAx / INKY (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / OCTSTRG (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today