RobinhoodNativeFeeHookV1 on Robinhood Chain
Uniswap v4 Hook Contract 0xe7c4c3b075c317c3473866afbc1516ccb863a0cc on Robinhood Chain · Dynamic fee · Verified contract
- Volume (24h)
- $1.28K
- Value locked (TVL)
- $5.04K
- All-time volume
- $1.04M
- Pools using this hook
- 1
- Swaps (24h)
- 12 (11 traders)
- Total swaps
- 6,998
What it does
Charges a fixed 20 bps platform fee plus a per-pool creator fee on the native ETH side of each swap, routing the accrued fees to fixed recipients.
How it works step by step
- Enforces that only the exact native ETH / token pool with fixed tick spacing, LP fee and hook address is served
- Charges a fixed 20 bps platform fee on gross native trade value, rounded up per trade
- Charges an additional creator buy or sell fee in basis points set immutably at deployment
- Takes fees through beforeSwap and afterSwap return deltas and mints them as ERC-6909 claims to the fee vault
- Optionally consults a pinned external module for a bounded dynamic LP fee override, without custom deltas
- Lets anyone trigger claims that send platform fees to a fixed Treasury and creator fees to a fixed creator recipient
- Swap behaviour
- In beforeSwap, when the ETH side is the specified amount, the hook takes the total fee as a return delta and records it. In afterSwap, when the token side is specified, it computes fees from the ETH amount, records them, and returns the fee delta. Swaps with zero amount revert and reentrant swaps are blocked.
- Liquidity behaviour
- No liquidity callbacks. Liquidity can be added or removed by the normal pool manager flow; the hook does not intercept those calls.
- Fee behaviour
- Adds a fixed 20 bps platform fee plus a creator buy or sell fee (immutable per pool) on the native ETH side of each trade, rounded up per trade. Fees are taken via a beforeSwap return delta and minted as ERC-6909 claims to a fee vault. An optional module can supply a dynamic LP fee override bounded by maxModuleLpFeePips.
- Owner & admin controls
- No owner or pausing role found. The initializer address is fixed at construction and can only set the initial pool price once. The optional module address is immutable and its code is pinned by codehash, so it cannot be swapped. Creator fee recipient, rates and platform recipient are immutable. Claims are permissionless and always go to fixed recipients.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize restricts pool initialization to the fixed initializer at the fixed price. beforeSwap computes and takes the native-side fee and optionally applies a module LP fee override. afterSwap verifies the swap context, checks the fill matches the expected amount for ETH-specified swaps, records fees, and returns the fee delta. beforeSwapReturnDelta and afterSwapReturnDelta permit the hook to take fee deltas from swaps.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: No privileged owner key exists. The initializer can only perform the single allowed pool initialization. Users are not exposed to an admin who can change fees or pause swaps. Trust rests on the immutable constructor configuration and the optional module, which is pinned by codehash.
Risk to user funds: The hook takes a fixed fee in native ETH on each trade through return deltas and mints it as ERC-6909 claims to a vault. It cannot move pool principal, block swaps through an admin action, or change fee rates after deployment. Users are exposed to the fixed fee and to reverts on ETH-specified partial fills.
Security findings
- [info] Partial ETH-specified fills revert: Swaps that specify the ETH amount revert if the pool fill differs from the expected amount, so partial fills of ETH-specified swaps are not supported and will fail.
- [low] Optional external module trusted within bounds: Custom non-zero deltas from an optional module revert, and the module can only supply a fee override within the configured cap. The module is trusted to return valid data and is pinned by codehash at deployment.
- [info] Fee custody is isolated and permissionless to claim: Fee accrual is recorded in the vault and claimable by anyone to fixed recipients. The vault has no principal withdrawal or arbitrary call path, limiting custody risk to accrued fee balances.
Contract details
- Verified source
- Yes (RobinhoodNativeFeeHookV1)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 8,371 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, erc6909-claims, liquidity-management, return-delta
Pools using RobinhoodNativeFeeHookV1
- ETH / HKMN (0.00% fee) — 24h volume $1.28K, TVL $5.04K, 12 swaps today