LendingHookV2 on Ethereum

Uniswap v4 Hook Contract 0xab30e40f9419daf915fd2150d3b067995b07bac0 on Ethereum · Launchpad · Verified contract

Volume (24h)
$221
Value locked (TVL)
$114
All-time volume
$76.99K
Pools using this hook
1
Swaps (24h)
1 (1 traders)
Total swaps
107

What it does

A LOOP token launch and lending hook where swaps pay no hook fee, only the protocol provides liquidity, and users can borrow ETH against LOOP at 40% LTV for a fixed 1% origination fee.

How it works step by step

  • Launches the fixed-supply LOOP token (1M) in a native ETH/LOOP Uniswap v4 pool, seeded by the hook itself as one-sided LOOP liquidity across 100 price bands.
  • Only the hook can add or remove liquidity in this pool; third-party LPs are blocked.
  • Lets users borrow ETH against LOOP collateral at 40% loan-to-value, pulling the ETH from the hook's own pool liquidity, with a 1% origination fee to the fee collector.
  • Anyone can liquidate positions whose collateral falls below 150% of debt; collateral is sold into the pool, the liquidator gets 1% of debt (max 0.01 ETH), and the rest refills pool liquidity.
  • Records the block of the last swap so borrowing cannot happen in the same block as a swap.
Swap behaviour
Swaps run on normal Uniswap v4 math with no fee skim, cooldown or restriction from the hook; it only records the current block number. Despite a 1% SWAP_FEE_BPS constant, no swap fee is actually charged and the pool's LP fee is set to 0.
Liquidity behaviour
Only the hook itself can add or remove liquidity; any outside address trying to add or remove reverts. All pool liquidity is protocol-owned, so there are no third-party LP funds to lock.
Fee behaviour
Swaps pay 0% (pool fee is 0 and the hook takes nothing). Borrowers pay a 1% origination fee (2.5% of the ETH borrowed) to the fixed fee collector, and repay or liquidation leftovers that cannot be re-added as liquidity also go to the fee collector.
Owner & admin controls
The immutable owner can only initialize the pool once and seed the 100 bands with the hook's LOOP supply. There are no fee, pause, or parameter setters; all lending constants are hard-coded.

Enabled Uniswap v4 callbacks

beforeInitialize, afterInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap

beforeInitialize: enforces the exact ETH/LOOP pool key with 0 fee; afterInitialize: no-op; beforeAddLiquidity: blocks anyone but the hook from adding liquidity; beforeRemoveLiquidity: blocks anyone but the hook from removing liquidity; beforeSwap: no-op returning zero fee; afterSwap: records the last swap block.

Security & trust assessment

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

Who controls it: The owner is immutable and can only run one-time pool setup and band seeding. They cannot change fees, pause swaps, or withdraw pool liquidity.

Risk to user funds: Traders pay no swap fee from the hook; borrowers lock LOOP collateral in the hook and pay a fixed 1% origination fee, and their collateral can be liquidated below 150% collateralization. There are no third-party LPs, and no admin function can drain collateral or pool liquidity.

Security findings

  • [info] Protocol-owned liquidity only: Add and remove liquidity are restricted to the hook itself, so outside LPs cannot provide liquidity; no user LP principal is ever held or locked.
  • [low] Lending draws on pool liquidity: Borrowing removes ETH liquidity from the pool's bands, which can thin buy-side depth until loans are repaid or liquidated. Liquidations sell collateral into the pool, which can push the LOOP price down.
  • [info] No swap fee despite constant: The 1% SWAP_FEE_BPS constant is unused; swaps pay no hook fee and the pool fee is fixed at 0.

Contract details

Verified source
Yes (LendingHookV2)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
16,341 bytes
Upgradeable proxy
No
Detected patterns
erc20, launchpad, liquidity-management, moves-currency, ownable, self-unlock

Pools using LendingHookV2