OutlawFeeHook on Robinhood Chain
Uniswap v4 Hook Contract 0x18004dac881a5de013f2fb64b3d411e91dbdc0cc on Robinhood Chain · Fee sharing · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $2.53K
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 4
What it does
Every swap, whether buying or selling the token, pays a fixed 5% fee taken in ETH and sent to a fixed fee wallet, so neither direction is favoured.
How it works step by step
- Charges a fixed 5% fee on every swap in the pool, applied to buys (ETH to token) and sells (token to ETH) alike.
- Always collects the fee in ETH (currency0), never in the token.
- When ETH is the specified currency, takes the fee in beforeSwap by removing it from the pool via poolManager.take and returning a positive specified delta to the swapper.
- When ETH is the unspecified currency, takes the fee in afterSwap from the ETH leg of the balance delta and returns it as the hook delta.
- Sends all collected ETH fees to an immutable feeRecipient address set at deployment.
- Emits FeeTaken for each fee collection.
- Swap behaviour
- Every swap pays a 5% fee in ETH. Buys (zeroForOne, ETH in) and sells (OUTLAW in, ETH out) both pay 5%, so no trade direction is favoured. The fee is skimmed either from the specified amount in beforeSwap or from the ETH leg in afterSwap, depending on which currency is specified.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Fixed 5% (500 bps) on both buys and sells, taken in ETH and sent to the immutable feeRecipient. The pool's own LP fee is not modified by the hook.
- Owner & admin controls
- No admin controls found. feeRecipient and the fee constants are immutable or constant, and there is no owner, pause, or upgrade mechanism in the source.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap is used to take the ETH fee from the specified amount and return it as a positive specified delta. afterSwap is used to take the ETH fee from the unspecified ETH leg and return it as a hook delta. beforeSwapReturnDelta and afterSwapReturnDelta are enabled so the hook can modify the amounts settled with the pool manager.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: No privileged key can change fees, pause swaps, or redirect fees after deployment, because feeRecipient and the fee constants are immutable and there are no owner functions in the source.
Risk to user funds: The hook can remove up to 5% of the swap's ETH amount from the pool per swap and send it to feeRecipient. It cannot block swaps or touch LP principal beyond that fee.
Security findings
- [info] Hook takes funds via return deltas: The hook pulls ETH out of the pool with poolManager.take and adjusts swap deltas in beforeSwap and afterSwap, so it can move pool funds. The amount is fixed at 5% of the swap amount and sent only to feeRecipient.
- [info] Fee recipient is a fixed address: feeRecipient is immutable and set in the constructor, so the recipient cannot be changed after deployment. Whoever controls that address receives all ETH fees.
- [low] Fee applied to ETH leg in afterSwap uses delta magnitude: In afterSwap the fee is computed from the absolute value of the ETH delta, which includes any amount already adjusted by beforeSwap logic for the opposite path; the two paths are mutually exclusive per swap so this is unlikely to double-charge, but it relies on correct exclusive branching.
Contract details
- Verified source
- Yes (OutlawFeeHook)
- Compiler
- solc 0.8.28+commit.7893614a
- Bytecode size
- 2,930 bytes
- Upgradeable proxy
- No
- Detected patterns
- fee-sharing, moves-currency, return-delta
Pools using OutlawFeeHook
- ETH / FOLIO (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today