LendingHookV4 on Ethereum
Uniswap v4 Hook Contract 0x8153228b18e0bbf15730aa95d8910167c923bacc on Ethereum · Liquidity management · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $240
- All-time volume
- $5.23K
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 636
What it does
An immutable ETH/TOKEN lending vault pool where every swap pays a fixed 1% total fee (0.5% to LPs, 0.5% to the protocol), borrowers take ETH against TOKEN at 40% LTV with fees and interest flowing to LPs, and LP withdrawals can be delayed while ETH is lent out.
This read was written for the hook 0x82d3…3acc on Ethereum 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
- Runs a single full-range ETH/TOKEN Uniswap v4 pool that only the hook itself can add to or remove liquidity from; LPs deposit through the hook and get transferable vault share tokens.
- Lets borrowers lock TOKEN as collateral and borrow ETH from the pool at 40% loan-to-value. They pay a 1% origination fee on the debt (half to LPs, half to the protocol) plus interest of 2.5% to 100% APR, locked at borrow time.
- Anyone can liquidate a position once collateral value falls below 150% of the debt. The liquidator gets collateral at a 2.5% discount, and the remaining tokens refill the pool.
- Adds a 0.5% protocol skim on every swap, sent to a hardcoded fee collector, on top of the pool's 0.5% LP fee.
- Uses lagged price snapshots and same-block lockouts after liquidations to resist price manipulation.
- Swap behaviour
- Every external swap pays an extra 0.5% hook fee on top of the pool's 0.5% LP fee: taken in ETH on buys and on exact-input sells, and in TOKEN on exact-output sells. External swaps revert in any block where a liquidation happened.
- Liquidity behaviour
- Direct add/remove liquidity by anyone other than the hook reverts; LPs must use the hook's deposit and withdraw functions. Withdrawals require holding shares for 2 blocks, are blocked in liquidation blocks, and revert if too much ETH is lent out (utilization is capped at 70%), so LPs may have to wait for borrowers to repay.
- Fee behaviour
- Swappers pay 1% in total: 0.5% stays with LPs through the pool fee and 0.5% is skimmed to the hardcoded lo0p fee collector. Borrowers pay a 1% origination fee split 50/50 between LPs and the collector, plus interest of 2.5% to 100% APR that accrues to LPs.
- Owner & admin controls
- No admin controls found. The only privileged role, the deployer, can only transfer or burn that role itself; all fees, rates and the fee collector are hardcoded constants.
Enabled Uniswap v4 callbacks
beforeInitialize, afterInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: only allows the canonical ETH/TOKEN pool created by the hook; afterInitialize: no-op; beforeAddLiquidity/beforeRemoveLiquidity: block any liquidity changes not made by the hook; beforeSwap: blocks swaps in liquidation blocks, takes price snapshots and skims 0.5% on exact-input buys; afterSwap: resyncs reserves and skims 0.5% on other swap types; swap return deltas: charge that fee to the swapper.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: The deployer key can only transfer or burn its own role and has no power over fees, funds or swaps. The fee collector address is hardcoded.
Risk to user funds: The hook takes a fixed 0.5% of each swap and manages LP principal in its own full-range position, lending ETH out to borrowers. No admin can drain funds, but withdrawals can be temporarily unavailable when ETH is lent out, and LPs bear any liquidation shortfall.
Security findings
- [info] Fixed, hardcoded fees: The 0.5% swap skim, 1% origination fee and 100% APR rate ceiling are constants that no one can change.
- [low] LP withdrawals depend on loan utilization: Withdraws revert when an LP's share of the pool's ETH is currently lent out, which can happen with up to 70% utilization. Withdraws also face a 2-block holding cooldown and same-block liquidation lockouts. This is an Aave-style liquidity wait, not an admin lock.
- [low] Bad-debt exposure for LPs: Borrowers are valued using the pool's own spot price, protected by a lag. A sharp TOKEN price drop could leave debt not fully covered by collateral, and that loss would be borne by LPs.
Contract details
- Verified source
- Yes (LendingHookV4)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 23,930 bytes
- Upgradeable proxy
- No
- Detected patterns
- donates, erc20, liquidity-management, moves-currency, return-delta, self-unlock
Pools using LendingHookV4
- ETH / LO0P (0.50% fee) — 24h volume $0, TVL $240, 0 swaps today