StickyHook on Robinhood Chain
Uniswap v4 Hook Contract 0x1acd54411680d5a83bbf1f5de17fb71e2ea160c4 on Robinhood Chain · Dynamic fee · Verified contract
- Volume (24h)
- $1.02
- Value locked (TVL)
- $0
- All-time volume
- $1.02
- Pools using this hook
- 1
- Swaps (24h)
- 2 (1 traders)
- Total swaps
- 2
What it does
An immutable rule-driven hook that sets per-swap LP fees (0% to 100%), may reject certain trades, and may take an extra hook fee for the owner, with exact fees and restrictions fixed in its deployed program while LPs keep free withdrawals.
How it works step by step
- Runs a fixed rule program (a 'Sticky Nodes' board) on every swap, set once at deployment and never changeable afterward.
- Rules can set the LP fee per swap based on trade size, direction, time of day, gas price, pool price, liquidity depth or the trader's balance of a gate token.
- Rules can reject swaps, for example oversized or undersized trades, trades inside a cooldown, too many swaps per block, or high price impact.
- Optionally keeps an extra hook fee from the non-specified side of each swap, which the owner can later withdraw.
- Binds itself to a single dynamic-fee pool for a fixed token pair.
- Swap behaviour
- Before each swap the hook evaluates its fixed program against the signing wallet (tx.origin) and either rejects the swap or sets the LP fee; if the program includes a hook fee, a share of the swap output (exact-in) or input (exact-out) is taken after the swap. Possible restrictions include size limits, cooldowns, per-block swap limits, price impact caps and direction-based rules, depending on the deployed program.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- The LP fee is set per swap by the program, anywhere from 0% to 100% as allowed by the constructor checks, and goes to LPs; an optional hook fee of 0% to 100% of the unspecified side goes to the hook contract for the owner. The actual values are fixed in the on-chain program (readable via program()) and were not provided here.
- Owner & admin controls
- The owner can only withdraw tokens or ETH held by the hook (collected hook fees) and transfer ownership via a two-step process. The rules, fees and pool binding cannot be changed by anyone.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, afterSwapReturnDelta
beforeInitialize: locks the hook to one dynamic-fee pool with the configured tokens; beforeSwap: runs the rule program to allow/reject the swap and set the LP fee; afterSwap: computes the optional hook fee; afterSwapReturnDelta: deducts that hook fee from the swap.
Security & trust assessment
Risk level: medium (verified source, medium confidence).
Who controls it: The owner can only withdraw hook-collected fees and hand over ownership; they cannot change rules or touch pool reserves.
Risk to user funds: The hook can take a hook fee from swap amounts of 0% to 100% as fixed in its immutable program, and LP fees likewise range 0% to 100%. LP principal cannot be locked or drained.
Security findings
- [medium] Fees up to 100% allowed by design: Constructor validation only caps LP and hook fee values at 100%, so the fixed program could charge very high fees; actual values must be checked in the deployed program.
- [medium] Program can reject trades: Rules can reject swaps by direction, size, balance, time or other conditions, which could make one direction (such as selling) impossible if the program is written that way.
- [info] Immutable rules: The rule program is fixed at deployment and the owner cannot alter fees or restrictions; the owner can only withdraw collected hook fees.
- [info] Unrestricted LP withdrawals: Remove-liquidity callbacks are disabled, so LPs can always withdraw.
Contract details
- Verified source
- Yes (StickyHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 7,237 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, ownable, return-delta
Pools using StickyHook
- ETH / WETH (Dynamic fee) — 24h volume $1.02, TVL $0, 2 swaps today