Custom pricing hook on Robinhood Chain
Uniswap v4 Hook Contract 0xb182a0f1f53b7f91c52735e0f64e50c04dd34044 on Robinhood Chain · Custom pricing
- Volume (24h)
- $232
- Value locked (TVL)
- $195
- All-time volume
- $232
- Pools using this hook
- 1
- Swaps (24h)
- 90 (41 traders)
- Total swaps
- 90
What it does
This hook takes a share of swap output on each trade and holds it as claim tokens for the hook, while liquidity actions and donations pass through without extra fees, though which direction of trade pays more could not be confirmed from the bytecode.
How it works step by step
- Mints ERC6909 claim tokens to itself on afterSwap by taking unspent swap currency from the pool manager, tracking value owed to the hook rather than sending it out immediately
- Uses afterSwapReturnDelta to adjust the swap's settled amounts, so the hook takes a share of the swap output as a delta
- Exposes claim(address,uint256) that lets a user redeem previously minted claim balances, with a lock flag held in storage slot 0
- Runs its accounting inside unlockCallback, which the hook reaches through self-unlock via the pool manager's unlock
- Exposes claimable(address) so users can read their pending claim balance
- Owner-style view getters poolOwner, poolManager and FEE_PPM/FEE_DENOMINATOR indicate a fee-taking design with an owner role
- Swap behaviour
- After each swap the hook runs afterSwap, takes a portion of the swap currency via a return delta and mints ERC6909 claim tokens to itself; the exact percentage and which swap direction pays more cannot be determined from the decoded bytecode alone.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity are present as view stubs with no state-changing logic observed; liquidity operations are not directly gated or taxed by the hook.
- Fee behaviour
- Fees appear to be taken from swap output via afterSwapReturnDelta and held as ERC6909 claims, with FEE_PPM and FEE_DENOMINATOR suggesting a parts-per-million fee rate; the rate source (constant or owner-set) is not determinable without source.
- Owner & admin controls
- poolOwner() and poolManager() getters are present, implying an owner role that may set or collect fees; no setter selectors were decoded, so the extent of owner powers is unconfirmed.
Enabled Uniswap v4 callbacks
afterSwap, afterSwapReturnDelta
afterSwap is used to take a fee from swap output and mint claim tokens; afterSwapReturnDelta lets that taken amount adjust the swap's settled delta; beforeSwap, beforeInitialize and the liquidity and donate hooks are dispatched but appear to be no-op views.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: A privileged owner may exist (poolOwner) and could potentially influence fee parameters or claim collection, but no owner-only mutating functions were decoded, so the impact on users is uncertain.
Risk to user funds: The hook holds value as ERC6909 claim balances and takes part of swap output via return deltas, so it does hold and move a portion of traded currency; users redeem these via claim, and the hook could block redemption if its lock flag stays set.
Security findings
- [medium] Return delta takes swap currency: afterSwapReturnDelta together with take and mint calls means the hook removes part of each swap's output from the pool flow and holds it as ERC6909 claims, which is a direct economic effect on traders.
- [low] Claim redemption gated by a lock flag: claim(address,uint256) and unlockCallback write storage slot 0 and raise ClaimInProgress and NoActiveClaim errors, so claim flow correctness depends on this single flag.
- [info] Owner role present, powers unclear: poolOwner() exists but no owner-only setter selectors were decoded, so whether the owner can change fees or withdraw claims cannot be confirmed from bytecode.
- [info] No source to verify accounting: Without verified source the exact fee math and claim accounting cannot be audited, which limits confidence in the balance tracking.
Contract details
- Verified source
- No
- Bytecode size
- 5,177 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc6909-claims, moves-currency, return-delta, self-unlock
Pools using Custom pricing hook
- ETH / BOOMER (0.50% fee) — 24h volume $232, TVL $195, 90 swaps today