BackedFeeHook on Robinhood Chain

Uniswap v4 Hook Contract 0xced7aa50727f3cd251985b09a2080db056a8c0cc on Robinhood Chain · Fee sharing · Verified contract

Volume (24h)
$1.89K
Value locked (TVL)
$41.05K
All-time volume
$7.88M
Pools using this hook
4
Swaps (24h)
14 (13 traders)
Total swaps
32,507

What it does

Charges a fixed 3% tax on native-ETH-side swaps in ETH-as-currency0 pools and sends the entire amount to an immutable vault address that uses it to buy backing stocks.

How it works step by step

  • Computes a 3% fee (FEE_BPS = 300) on the ETH side of swaps in pools where currency0 is native ETH
  • Takes the specified-side fee in beforeSwap and offsets it with a returned beforeSwap delta so the swapper pays it
  • Takes the unspecified-side fee in afterSwap and returns it as the afterSwap delta
  • Sends 100% of the collected ETH directly to the immutable vault address via poolManager.take
  • Passes through untouched for non-ETH pools and for zero-amount fees
Swap behaviour
On every swap in a pool whose currency0 is native ETH, a 3% fee on the ETH amount is taken: in beforeSwap when ETH is the specified side (exact-in buy, exact-out sell), or in afterSwap when ETH is the unspecified side (exact-in sell, exact-out buy). Swaps in non-ETH pools are untaxed.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
A fixed 3% (300 bps) tax on the native ETH side of swaps, computed on the specified amount in beforeSwap (exact-in buys and exact-out sells) or on the unspecified ETH delta in afterSwap (exact-in sells and exact-out buys). The entire fee is sent to the immutable vault address via poolManager.take; nothing is split to LPs. Pools where currency0 is not native ETH are untaxed.
Owner & admin controls
No admin controls found. The vault address is immutable and set at construction; there is no owner, pause, upgrade proxy, or parameter setter in the verified source. FEE_BPS is a constant (3%).

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeSwap: charges the 3% ETH fee on the specified amount and returns a delta offsetting it. afterSwap: charges the 3% fee on the unspecified ETH amount when ETH is not the specified side. beforeSwapReturnDelta and afterSwapReturnDelta: allow those callbacks to alter the swap's net currency amounts so the hook can collect the fee.

Security & trust assessment

Risk level: medium (verified source, high confidence).

Who controls it: The hook has no privileged role. The fee recipient is fixed at deployment and cannot be changed, so no key can alter the tax rate or redirect fees after deployment. Centralization risk sits with the vault contract that receives the tax, which is not analysed here.

Risk to user funds: The hook can take up to 3% of the ETH side of each qualifying swap and send it to the immutable vault via poolManager.take. It cannot pause swaps, change the fee, or move pool or LP funds beyond that tax. LP principal is not directly touched because the hook has no liquidity callbacks.

Security findings

  • [info] Immutable fee and recipient: Fee is hardcoded at 300 bps and the vault address is immutable, so the owner cannot change terms or redirect fees after deployment.
  • [info] Hook extracts currency from swaps: The hook takes tokens during swaps via return deltas and poolManager.take, so swappers pay an extra 3% in ETH on every qualifying swap; this is the intended mechanism.
  • [low] Tax applies only to ETH-as-currency0 pools: Fee is only applied when currency0 is native ETH; other pools pass through untaxed, so the tax can be avoided by trading in non-ETH-denominated pools.
  • [medium] Trust in the vault recipient: The vault receives 100% of the tax, so its contract logic and custody of the accumulated ETH are a trust dependency for users and LPs.

Contract details

Verified source
Yes (BackedFeeHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
2,873 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta

Pools using BackedFeeHook