DoubleBackedMultiTokenFeeHook on Robinhood Chain

Uniswap v4 Hook Contract 0x8d35bfb69e2750523682428a394c8bd209e880cc on Robinhood Chain · Utility · Verified contract

Volume (24h)
$100
Value locked (TVL)
$2.28K
All-time volume
$654
Pools using this hook
8
Swaps (24h)
15 (6 traders)
Total swaps
2,304

What it does

Adds a fixed 3% fee on swaps in BACKEDD pairs, taken in the non-BACKEDD token and sent to a fixed vault address.

How it works step by step

  • Checks whether either currency in the pool is the configured BACKEDD token; if not, it does nothing.
  • Computes a fixed 3% fee (FEE_BPS = 300) on the swap amount.
  • Takes the fee in the non-BACKEDD currency and transfers it to the immutable vault via poolManager.take.
  • Returns before-swap or after-swap deltas so the swapper's net amounts reflect the fee.
  • Uses two code paths depending on whether the specified amount is the fee currency.
Swap behaviour
On swaps in pools containing BACKEDD, a 3% fee is taken in the non-BACKEDD token and sent to the vault, applied in beforeSwap or afterSwap depending on which side is specified. Swaps in other pools are unaffected.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Charges a fixed 3% (300 bps) fee on swaps in pools where one currency is BACKEDD and the other is not. The fee is taken in the non-BACKEDD token and sent to the immutable vault address. The fee is applied in beforeSwap when the fee currency is the specified currency, otherwise in afterSwap on the unspecified delta. Pools without BACKEDD pay no hook fee.
Owner & admin controls
No admin controls found. Vault and BACKEDD token addresses are immutable and set in the constructor; no owner, pause, upgrade or parameter-setting functions are present in the source.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeSwap: computes the 3% fee on the specified amount, takes it to the vault via poolManager.take and returns a before-swap delta so the swapper pays it. afterSwap: when the fee currency is the unspecified side, computes 3% of that delta, takes it to the vault and returns it as an afterSwap return delta. beforeSwapReturnDelta and afterSwapReturnDelta: enable the hook to adjust swap deltas to account for the fee.

Security & trust assessment

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

Who controls it: No privileged role exists, so no single key can change fees, pause swaps or redirect the vault. The vault destination is fixed at deployment and cannot be changed.

Risk to user funds: The hook can take up to 3% of swap volume in the non-BACKEDD token from swappers in BACKEDD pools and send it to the immutable vault. It does not hold user funds itself and cannot block swaps, but the fee is paid by swappers on every qualifying trade.

Security findings

  • [info] Hook moves currency and modifies swap deltas: The hook calls poolManager.take to send fee tokens to the vault and returns custom deltas, so it can alter the amounts users receive on swaps in BACKEDD pairs.
  • [low] Two-branch fee accounting may produce inexact fees: Fee is charged in beforeSwap on the specified amount and in afterSwap on the unspecified delta; the afterSwap branch takes the fee from the post-swap delta, so the net effect depends on the pool's delta accounting and may differ from the stated 3% in edge cases with rounding or partial fills.
  • [info] No upgrade or pause path: Fee is hard-coded at 300 bps and the vault and token addresses are immutable, so the hook cannot be reconfigured or paused if the vault address or fee policy becomes undesirable.

Contract details

Verified source
Yes (DoubleBackedMultiTokenFeeHook)
Compiler
solc 0.8.34+commit.80d5c536
Bytecode size
3,214 bytes
Upgradeable proxy
No
Detected patterns
liquidity-management, moves-currency, return-delta

Pools using DoubleBackedMultiTokenFeeHook