Token hook on Robinhood Chain

Uniswap v4 Hook Contract 0x1476e3c4f07045c4f8875d301d9a5fbc47b8a0cc on Robinhood Chain · Token

Volume (24h)
$52.99K
Value locked (TVL)
$19.51K
All-time volume
$52.99K
Pools using this hook
1
Swaps (24h)
324 (131 traders)
Total swaps
324

What it does

A token tax hook that charges owner-set buy and sell fees on swaps (capped at an unverified limit), lets the owner pause trading and blacklist traders, while LPs remain free to withdraw.

This read was written for the hook 0xf6c6…e0cc 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 buy fee and a sell fee on swaps of the project token, with separate rates set by the owner.
  • Sends collected fees to a fee receiver, or parks them in the hook to be settled later.
  • Blocks swaps until the owner turns trading on, and only allows approved pools.
  • Lets the owner or authorized operators blacklist addresses from trading.
  • Includes owner emergency functions to withdraw ETH, ERC20 and NFT tokens held by the hook.
Swap behaviour
Swaps revert if trading is not enabled or the trader is blacklisted. Otherwise the hook takes a buy or sell fee from the swap through return deltas.
Liquidity behaviour
No liquidity callbacks are enabled, so LPs can add and withdraw freely and the hook cannot block or charge withdrawals.
Fee behaviour
Separate buy and sell fees are stored as basis points and capped by a FEE_CAP_BPS constant whose exact value cannot be read from bytecode. Fees go to a fee receiver, and any that cannot be sent right away are parked and settled later. The owner can disable fees.
Owner & admin controls
The owner and authorized operators can update buy/sell fees up to an unverified cap, disable fees, toggle trading on or off, blacklist or unblacklist addresses, and grant or revoke access. The owner can also withdraw any ETH, ERC20 or NFTs held by the hook.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts which pools may use the hook; beforeSwap checks trading status and blacklist and can take the fee; afterSwap takes or parks the fee; the swap return-delta flags let the hook deduct the fee from swap amounts.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, medium confidence).

Who controls it: An owner (with two-step transfer) and authorized operators control fees, trading on/off and blacklists. The worst they can do is halt or selectively block swaps and raise fees up to the coded cap.

Risk to user funds: The hook takes a buy/sell fee from swaps up to an unverified cap and can hold parked fees the owner can withdraw. LP withdrawals are never touched and LP principal cannot be locked or drained.

Security findings

  • [medium] Owner can pause trading: Trading can be switched off, causing all swaps to revert until re-enabled.
  • [medium] Address blacklist: Authorized accounts can blacklist addresses, blocking them from swapping.
  • [medium] Adjustable fees with unverified cap: Buy and sell fees can be changed up to a fee cap constant whose value is unknown from bytecode.
  • [low] Emergency withdrawals of hook balances: The owner can pull ETH, ERC20 and NFTs held by the hook, which may include parked fees; LP principal in the PoolManager is not reachable.

Contract details

Verified source
No
Bytecode size
7,999 bytes
Upgradeable proxy
No
Detected patterns
access-control, erc20, moves-currency, ownable, return-delta, self-unlock

Pools using Token hook