Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x1a4de7c52870bca2662467b07a0a944e8615a0cc on Robinhood Chain · Fee sharing
- Volume (24h)
- $92.86K
- Value locked (TVL)
- $961
- All-time volume
- $92.86K
- Pools using this hook
- 1
- Swaps (24h)
- 664 (206 traders)
- Total swaps
- 664
What it does
This hook takes an adjustable, capped fee from every swap and splits it between a project recipient and another party, while a controller can pause trading; LPs can always withdraw freely.
How it works step by step
- Charges a swap fee (feeBps) taken from swaps via return deltas, capped by a maxFeeBps value whose exact number is not readable from bytecode.
- Splits collected fees between a project recipient and another party (likely a protocol vault), with balances stored for later claiming.
- Lets a controller pause trading, change the fee within the cap, and update fee recipients.
- Restricts pool initialization to an authorized initializer and is tied to a single pool.
- Swap behaviour
- Every swap is checked against a trading-pause flag and reverts if trading is paused. A fee is deducted from the swap amounts through return deltas and credited to recipients.
- Liquidity behaviour
- No liquidity callbacks are enabled, so LPs can add and withdraw freely and the hook can never block withdrawals.
- Fee behaviour
- A controller-set fee in basis points is taken from each swap, bounded by a maxFeeBps cap that cannot be confirmed from bytecode. Fees are split between a project recipient and a second party (likely a vault) using a configurable split, and recipients claim them later.
- Owner & admin controls
- A controller can pause or unpause all trading, set the fee up to maxFeeBps (exact value unknown), change fee recipients, and adjust a fee split parameter. It cannot touch LP withdrawals.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: restricts who can create the pool; beforeSwap: enforces the pause and may take fee from input; afterSwap: computes and records fee splits; beforeSwapReturnDelta/afterSwapReturnDelta: let the hook deduct its fee from swap amounts.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: A single controller address can pause swaps, change the fee within its cap, and redirect fee recipients. It cannot block LP withdrawals.
Risk to user funds: The hook deducts a fee from swap amounts up to an unknown maxFeeBps cap and holds accrued fees for claiming. LP principal cannot be locked or drained by the hook.
Security findings
- [medium] Controller can pause trading: setTradingPaused lets the controller halt all swaps in the pool at any time.
- [low] Adjustable swap fee with unverified cap: The fee can be changed up to a maxFeeBps limit; the cap's exact value is not visible in unverified bytecode.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so LPs can always withdraw.
Contract details
- Verified source
- No
- Bytecode size
- 7,477 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, erc20, fee-sharing, liquidity-management, moves-currency, return-delta
Pools using Fee sharing hook
- ETH / CLPILOT (Dynamic fee) — 24h volume $92.86K, TVL $961, 664 swaps today