FriarTier on Robinhood Chain

Uniswap v4 Hook Contract 0x35b59db64335c22840d98be894b8f3e1e2efd080 on Robinhood Chain · Dynamic fee · Verified contract

Volume (24h)
$0
Value locked (TVL)
$1.17
All-time volume
$43.99K
Pools using this hook
93
Swaps (24h)
0 (0 traders)
Total swaps
4,648

What it does

A fixed-tier dynamic fee hook that charges a permanently set base fee plus a volatility surge on each swap, with all fees going to liquidity providers.

How it works step by step

  • Sets a fixed base fee per deployment (the tier), stored as an immutable value shared by all pools on the hook.
  • Tracks price movement as tick buckets crossed between swaps, using the Liquidity Book volatility accumulator.
  • Adds a variable surge fee that rises with recent volatility and decays over a configured period.
  • Converts the saturation point from ticks to a per-pool accumulator ceiling so the surge behaves the same across tick spacings.
  • Caps total fee at 10%, matching Liquidity Book's maximum.
  • Pays the entire fee to LPs with no protocol fee and no admin override.
Swap behaviour
On every swap, beforeSwap refreshes the pool's volatility accumulator from the current tick and returns an override LP fee equal to the immutable base fee plus the surge, capped at 10%.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Each swap pays a fee set in beforeSwap equal to a fixed base fee (baseFeePips, immutable per deployment) plus a variable volatility surge derived from the Liquidity Book volatility accumulator, capped at 10%. The whole fee is paid to LPs; no protocol fee is taken.
Owner & admin controls
No admin controls found. No owner, no pause, no upgradeability and no setters; all fee parameters are immutable constructor values shared by every pool on the hook.

Enabled Uniswap v4 callbacks

afterInitialize, beforeSwap

afterInitialize records the pool's starting tick bucket and requires a dynamic-fee pool. beforeSwap updates the volatility state from the current tick and returns the override fee for the swap.

Security & trust assessment

Risk level: low (verified source, high confidence).

Who controls it: No privileged role exists, so no key can change fees, pause swaps or move funds. Immutability means parameters cannot be corrected after deployment if a tier is misconfigured.

Risk to user funds: The hook holds no tokens and cannot take a swap delta, custody liquidity, or block removals. Its only effect on users is the fee charged on swaps, which is paid to the pool's LPs.

Security findings

  • [info] Surge can be shed by splitting swaps: The hook returns a fee per swap computed from pre-swap state, so the surge is independent of trade size and can be reduced by splitting a trade across transactions. The source documents this as a known deviation, measured at about 0.1% of surge revenue on routed pools.
  • [info] High base fee by design: Base fees up to 5% per tier are a market choice visible to traders through the quoter, not a mechanism that can seize or block funds, but a trader executing against a high-fee tier pays materially more.
  • [info] Restricted permission set: Only AFTER_INITIALIZE and BEFORE_SWAP permissions are set, and return-delta flags are off, so the hook cannot take a swap delta, own liquidity or block liquidity exits.

Contract details

Verified source
Yes (FriarTier)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
5,840 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee

Pools using FriarTier