Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x3d644becc29a2307c8f6f3ebabc8ddcd910fc0cc on Robinhood Chain · Fee sharing
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
Every buy and sell through this pool pays a fixed 3 percent fee in ETH that is sent to an immutable fee recipient, so buys and sells are charged the same rate.
This read was written for the hook 0x5189…00cc on Robinhood Chain 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 a flat 3 percent (300 bps) fee on every buy and every sell of the pool's token, collected in native ETH (currency0).
- On swaps where ETH is the specified currency, skims the fee in beforeSwap by calling poolManager.take to feeRecipient and returning a positive specified delta to the swapper.
- On swaps where ETH is the unspecified currency, skims the fee in afterSwap from the ETH leg of the balance delta and sends it to feeRecipient.
- Emits FeeTaken(isBuy, ethAmount) for each fee collection.
- Fee rates are compile-time constants (BUY_FEE_BPS and SELL_FEE_BPS are both 300) and the recipient is an immutable address set in the constructor.
- Swap behaviour
- Every swap pays the same 3 percent fee on the ETH amount: buys (zeroForOne) and sells (oneForZero) are charged equally. Exact-input and exact-output swaps are both handled; the fee is taken from the specified ETH amount in beforeSwap or from the unspecified ETH delta in afterSwap, and the fee is sent to feeRecipient rather than the pool.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee for the pool itself; the hook adds a separate fixed 3 percent fee on both buys and sells, paid in ETH and sent to the immutable feeRecipient. The fee is zero when the computed amount rounds down to zero.
- Owner & admin controls
- No admin controls found. The fee rates are constants and the fee recipient is immutable, so there is no owner, pause, upgrade or parameter-change function in the ABI.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap is used to skim the ETH fee from the specified amount and return it as a positive specified delta to the swapper. afterSwap is used to skim the ETH fee from the unspecified ETH leg of the balance delta. beforeSwapReturnDelta and afterSwapReturnDelta allow these hooks to adjust the swapper's settled amounts, which is how the fee is actually charged.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, high confidence).
Who controls it: No privileged role can change fees, pause swaps or redirect fees after deployment; the only trusted party is the immutable feeRecipient, which receives funds but cannot alter swap logic.
Risk to user funds: The hook takes ETH from the pool and sends it to feeRecipient on every swap via poolManager.take, and returns deltas that adjust what the swapper pays or receives; it does not hold a balance itself and cannot block swaps, so user funds are exposed only to the fixed 3 percent fee.
Security findings
- [info] Fee recipient is immutable: feeRecipient is set once in the constructor and cannot be changed, so fees always go to the address chosen at deployment.
- [info] Return deltas let the hook charge the swapper: The hook returns a positive specified delta in beforeSwap and a positive unspecified delta in afterSwap, and it calls poolManager.take directly, so it moves ETH out of the pool to feeRecipient on every qualifying swap.
- [low] Fee rate is hardcoded at 3 percent with no ceiling: BUY_FEE_BPS and SELL_FEE_BPS are constants equal to 300 bps; they cannot be lowered or raised after deployment, which removes admin fee manipulation risk but also means the fee cannot be adjusted.
- [info] Fee is charged on ETH legs only: If the pool's ETH leg is zero or the computed fee rounds down to zero, no fee is taken; swaps still succeed, so the hook cannot block trades.
Contract details
- Verified source
- No
- Bytecode size
- 2,930 bytes
- Upgradeable proxy
- No
- Detected patterns
- fee-sharing, moves-currency, return-delta
Pools using Fee sharing hook
- ETH / NERVY (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today