Custom pricing hook on Robinhood Chain

Uniswap v4 Hook Contract 0x59213994a50dec5556292e67a6ee10c0f8ebd0c4 on Robinhood Chain · Custom pricing

Volume (24h)
$0
Value locked (TVL)
<$0.01
All-time volume
$54.06K
Pools using this hook
7
Swaps (24h)
0 (0 traders)
Total swaps
2,918

What it does

A Uniswap v4 hook that appears to run dynamic fees and a buyback-and-burn mechanism by taking a share of swap proceeds after each swap.

How it works step by step

  • Initializes per-pool state and fee configuration after pool initialization
  • Computes or applies a dynamic fee in beforeSwap using bounded MIN_FEE and MAX_FEE values
  • Updates tracked state and pending burn amounts in afterSwap
  • Takes a delta from swap output via afterSwapReturnDelta
  • Executes buybacks through executeBuyback and burns accumulated amounts
  • Exposes controller-linked configuration such as priceThreshold and windowSeconds
Swap behaviour
beforeSwap adjusts swap handling and afterSwap updates state; afterSwapReturnDelta lets the hook take a portion of the swap output for buyback or burn.
Liquidity behaviour
beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity selectors are present, suggesting liquidity events are observed or gated; exact effects unknown.
Fee behaviour
Appears to maintain per-pool dynamic fees via currentFee, poolFeeConfig and MIN_FEE/MAX_FEE bounds, with a priceThreshold and windowSeconds that likely drive fee adjustment; exact formula unknown.
Owner & admin controls
Storage slots are written by executeBuyback, unlockCallback and a privileged setter; access control appears to rely on a controller address (controller() selector present). Exact owner/controller permissions cannot be confirmed without source. No pause or upgrade functions identified with certainty.

Enabled Uniswap v4 callbacks

afterInitialize, beforeSwap, afterSwap, afterSwapReturnDelta

afterInitialize: pool setup and state initialization. beforeSwap: pre-swap fee or state logic. afterSwap: post-swap state update and accounting. afterSwapReturnDelta: the hook can take or return a delta on the swap output, so it can skim part of swap proceeds (e.g. for a buyback or burn mechanism).

Security & trust assessment

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

Who controls it: A privileged controller or owner may trigger executeBuyback and set parameters that affect fees and proceeds, and may influence pending burns.

Risk to user funds: The hook can take a share of swap output through its return delta and can route pool-related tokens via buyback and burn flows; users could receive less than the pool's nominal output depending on hook parameters.

Security findings

  • [medium] Hook takes swap proceeds via return delta: afterSwapReturnDelta is enabled, so the hook can take tokens from swaps and redirect them, e.g. to buybacks or burns.
  • [medium] Buyback execution with unverified access control: executeBuyback(address,address,uint256) is a nonpayable externally callable function whose access control could not be verified from bytecode.
  • [medium] Unlock callback entry point: unlockCallback is exposed and the hook interacts with the pool manager unlock flow, so misuse of that path could move pool funds if access checks are weak.
  • [info] Adjustable fee parameters: Dynamic fee parameters (MIN_FEE, MAX_FEE, priceThreshold, windowSeconds) are stored and may be adjustable by a privileged role.

Contract details

Verified source
No
Bytecode size
20,917 bytes
Upgradeable proxy
No
Detected patterns
return-delta

Pools using Custom pricing hook