ReverseV4RoutableHook on Base
Uniswap v4 Hook Contract 0xd5c706ce6bc5d44dbee4d04efbd31f676d5560c0 on Base · Dynamic fee · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
An immutable dynamic-fee hook that charges swaps up to 10%: trades pushing the price away from a reference price, volatile or sandwich-like trades pay more, corrective trades and loyal or credentialed traders pay less, with all fees going to LPs and free LP withdrawals.
How it works step by step
- Sets a dynamic LP fee on every swap, hard-capped at 10%, based on how far the pool is from a reference price, recent volatility, gas conditions and optional components such as price impact, directional moves and anti-sandwich surcharges.
- Swaps that push the price away from the reference pay more, and swaps that bring it back pay less. Repeat corrective traders and credential holders earn a discount toward a lower member fee.
- Awards non-transferable-by-default ERC-1155 points, a share of the swap input, to an address named in hookData. Points only count in pools opened by the approved initializer.
- Only the fixed initializer address can create pools on this hook, and those pools must use dynamic fees.
- Has no admin, owner, pause or upgrade path. All settings are fixed at deployment.
- Swap behaviour
- Before each swap the hook works out an LP fee from the deployment's fixed settings and overrides the pool fee with it. After the swap it updates the volatility, gas-average and sandwich-run state and credits points. It takes no tokens, returns no deltas and is designed never to revert a swap.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- The LP fee moves between the deployment's fixed minimum and maximum and can never exceed 10%. It rises for swaps away from the reference price, for volatility, price impact, same-direction bursts and sandwich reversals, and it falls for corrective swaps, loyal traders and credential holders. All fees go to the pool's LPs; the hook keeps none.
- Owner & admin controls
- No admin controls found. Fees, weights, the oracle, the credential registry and the points rates are all set in the constructor and cannot be changed afterward.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap
beforeInitialize: only the fixed initializer can open pools, they must be dynamic-fee pools, and the hook seeds its per-pool state; beforeSwap: calculates and applies the per-swap LP fee and counts loyalty days; afterSwap: updates volatility and gas state, resets the pool's resting fee and credits points.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: There is no owner or admin. The only privileged address is the fixed initializer, which alone can create pools on this hook.
Risk to user funds: The hook holds no user or LP funds. It only sets an LP fee between the configured minimum and at most 10%, and LP principal can always be withdrawn.
Security findings
- [info] Hard 10% fee cap: Every fee is clamped to the deployment's maximum, which itself can be no higher than 10%, and the settings are immutable.
- [info] External oracle and credential inputs: The fee depends on a fixed reference-price oracle and a credential registry. If either fails or returns stale data, the swap falls back to the base fee and is not blocked, and their influence stays within the 10% cap.
- [info] Unrestricted LP withdrawals: The remove-liquidity callbacks and all return deltas are disabled, so the hook cannot block withdrawals or take tokens from swaps.
Contract details
- Verified source
- Yes (ReverseV4RoutableHook)
- Compiler
- solc 0.8.30+commit.73712a01
- Bytecode size
- 19,106 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, mev-protection, oracle, rewards
Pools using ReverseV4RoutableHook
- ETH / USDC (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today