Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0xc781271dbdb25ee30877695778355561afc360cc on Robinhood Chain · Fee sharing
- Volume (24h)
- $111
- Value locked (TVL)
- $0
- All-time volume
- $111
- Pools using this hook
- 1
- Swaps (24h)
- 1 (1 traders)
- Total swaps
- 1
What it does
Swaps through this pool pay a fixed inbound or outbound toll, at rates not readable from bytecode, that the hook collects and forwards to a keeper, while LPs can add and withdraw liquidity freely.
This read was written for the hook 0xe6f2…a0cc 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 toll on swaps through its pool, with separate inbound and outbound toll rates that are fixed constants in the code (exact values not readable from bytecode).
- Collects the toll from swap amounts using return deltas and holds it in the hook until it is sent on to a keeper address.
- Runs a check when a pool is created and can refuse to initialize pools that do not match its expected setup.
- Can hold a Uniswap v4 LP position NFT under a time lock, with functions to extend, release, or dissolve that lock and to skim yield from it.
- Swap behaviour
- On every swap the hook can take a toll from the input before the swap or from the output after it, depending on swap direction. The rates come from fixed inbound and outbound constants whose exact percentages could not be confirmed from bytecode.
- Liquidity behaviour
- No liquidity callbacks are enabled, so ordinary LPs can add and withdraw freely. The hook may separately hold its own locked LP position NFT, which only affects that position.
- Fee behaviour
- A direction-based swap toll, set by hard-coded inbound and outbound rates (exact values unknown from bytecode), is collected by the hook and later forwarded through a remit function to the keeper address.
- Owner & admin controls
- A keeper address can appoint a new keeper, receive remitted tolls, and manage the hook's own locked LP position (engage, extend, release, dissolve, skim yield). A recover function exists but refuses protected pool assets; toll rates appear to be constants and not changeable.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: validates and records the single allowed pool; beforeSwap: tracks the swap and can take a toll from the input; afterSwap: settles or takes the toll from the output; beforeSwapReturnDelta and afterSwapReturnDelta: let the hook deduct the toll from swap amounts.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: A single keeper address receives accumulated tolls and manages the hook's locked LP position and token recovery. It does not appear able to change toll rates or touch other LPs' funds.
Risk to user funds: The hook can take a toll from each swap's input or output at fixed but unverified rates; other LPs' principal cannot be locked or taken because withdrawal callbacks are disabled.
Security findings
- [medium] Swap toll via return deltas: The hook deducts a toll from swap input or output using return deltas. The rates are constants, but their exact size cannot be verified from unverified bytecode.
- [info] Keeper-managed locked position: The keeper controls an LP NFT held by the hook under a time lock; this concerns only the hook's own position, not other LPs.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook cannot block or charge LP withdrawals.
Contract details
- Verified source
- No
- Bytecode size
- 9,286 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, return-delta, self-unlock
Pools using Fee sharing hook
- ETH / VORTA (0.00% fee) — 24h volume $111, TVL $0, 1 swaps today