Token hook on Robinhood Chain

Uniswap v4 Hook Contract 0xa040eab07876f70cea9fe9ac2effff918727e0cc on Robinhood Chain · Token

Volume (24h)
$0
Value locked (TVL)
$6.97
All-time volume
$0
Pools using this hook
1
Swaps (24h)
3 (1 traders)
Total swaps
3

What it does

This hook charges a tax on taxed swaps, with the amount set per pool, and sends the collected tax to the pool's creator and the treasury, so traders pay more than the pool's base fee while LPs do not receive this tax.

This read was written for the hook 0x620f…60cc on Ethereum 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

  • Hook sets a per-pool tax configuration in beforeInitialize and stores it in a configs mapping keyed by pool
  • Charges a tax on swaps via beforeSwap and afterSwap return deltas, using MIN_TAX_BPS and MAX_TAX_BPS bounds
  • Accrues the tax into creatorOwed and treasuryOwed balances, split by CREATOR_BPS
  • Lets the creator and the treasury claim their accrued balances through claimCreator and claimTreasury
  • Uses a factory address, set by the owner, to register creators via setCreator for pools
Swap behaviour
beforeSwap and afterSwap both run and can return deltas, so the hook takes a tax from swaps, which pay more than the static pool fee; the exact direction (buy or sell) and rate could not be confirmed from decoded bytecode.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
A tax in basis points, bounded by MIN_TAX_BPS and MAX_TAX_BPS and stored per pool in configs, is taken by the hook and split between creator and treasury balances; the creator share is CREATOR_BPS.
Owner & admin controls
Owner (Ownable) can set the factory address and can renounce ownership; creator and treasury accounts claim their own balances; no pause or upgrade mechanism was observed.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize reads and stores the pool tax configuration; beforeSwap and afterSwap apply the tax and may return deltas that move currency to the hook; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to adjust the swap amounts.

Security & trust assessment

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

Who controls it: The owner controls the factory address and can renounce ownership; the bytecode does not show a direct path to change tax rates after initialization, but this is not confirmed.

Risk to user funds: The hook holds accrued creator and treasury balances and can take a tax from each taxed swap; users pay the tax in the swap amount, and funds held by the hook can only leave through the claim functions.

Security findings

  • [medium] Hook takes currency via return deltas: beforeSwapReturnDelta and afterSwapReturnDelta are enabled and the bytecode calls take, so the hook withdraws tokens from the pool on each taxed swap.
  • [info] Unverified source: No verified source is available, so the tax math, bounds enforcement and claim logic were inferred from bytecode only.
  • [low] Owner can set factory: The owner can change the factory address through setFactory, which controls creator registration via setCreator.

Contract details

Verified source
No
Bytecode size
4,452 bytes
Upgradeable proxy
No
Detected patterns
erc20, moves-currency, ownable, return-delta

Pools using Token hook