Put your liquidity to work.

Supply a token and ETH to a pool, earn your share of every swap fee it collects, and withdraw whenever you want. Paid in both tokens, straight from the pool.

Updated 2026-08-18 · HoodLock Team

Where your liquidity actually sits#

In the Uniswap v3 pool, exactly where it would sit if you added it yourself. The vault mints a position directly into that pool and credits you shares of it.

Before it accepts anything, the vault asks the Uniswap factory whether the pool address it holds is the real one for those two tokens at that fee tier, and refuses if it is not. HoodLock is the position's owner and its bookkeeper. It is not a separate pool, and your tokens are not lent anywhere.

What it does that Uniswap alone does not#

The exposure is the same, so it is worth being plain: this sells convenience and accounting, not a higher yield.

If you are comfortable managing a Uniswap position yourself, doing it directly gives you the same exposure without the fee below. That is a fair trade and we would rather say so than pretend otherwise.

The fee#

WhatHow muchTaken from
Platform fee0.10% of swap fees earnedThe fees your position collects
Your capitalNothingNever touched, in or out
DepositFreeGas only
WithdrawFreeGas only
ClaimFreeGas only

Half of the platform fee goes to wallets that lock $LOCK. See Fees for the flat fees on the rest of HoodLock, which work differently.

Note

An unstaking fee exists in the contract and is set to 0% today. It is capped at 2% by a constant that cannot be raised, and it is the only charge that could ever touch capital rather than income. It applies at the rate in force when you withdraw, not the rate when you deposited.

Why only some pairs#

Vaults are curated rather than permissionless, and two things decide the list.

More pairs can be added without a site update, so the list grows.

Full range only#

Every vault holds one full-range position, fixed when the vault is deployed. It is not a limitation of the interface and it cannot be changed afterwards: everyone in a vault shares a single position, so a range chosen per depositor is not possible in this design.

The trade runs both ways. A tight range earns more per unit of capital while the price stays inside it, and earns nothing once it leaves. Full range earns less per unit and never stops earning, never needs rebalancing, and never leaves your capital parked outside the market.

When the price is moving#

The vault refuses a balanced deposit while the pool's spot price sits more than about 5% from its ten-minute average. This is deliberate. Accepting deposits at a manipulated price is how several liquidity managers have been drained, so entries are guarded and exits never are.

It does not mean the pool is shut. Supplying both sides moves no price, so a balanced deposit can never satisfy that check while the price is out. Supplying one side does move it: the app sells half of what you put in, and if it sells the side that pushes the price back toward the average, the deposit that follows is inside the band by the time the vault checks it.

So while a pool is out of band there is exactly one side it will take, and the app names it. It also names the smallest deposit that does the job, because a corrective swap that is too small leaves the price where it was and the deposit is refused anyway.

Careful

Withdrawals are never blocked by this check. A price guard on the way out would hand anyone able to move the price a switch that traps other people's capital, which is worse than the problem it would solve.

Depositing with one side alone#

A pool needs both sides. If you supply only ETH, the app wraps it, sells the part the pool needs for the other token, and supplies both, then hands you the shares. Supplying only the pool's own token works the same way in reverse, and is the side the vault wants when the price has run ahead of its average.

That swap moves the pool's price, and the same guard above then measures it, so single-sided deposits have a ceiling that depends on how deep the pool is. The form works it out live, caps the maximum at it, and tells you the largest amount that will work rather than letting a swap succeed and the deposit fail after it. When the price is already outside the band there is a floor as well, and the form names that too.

One detail worth knowing: a rescuing deposit is routed through the vault's own pool even when a deeper pool exists elsewhere. Selling somewhere else would be a cheaper trade that moves the wrong price, and the deposit after it would be refused exactly as before.

Withdrawing#

  1. Pick how much of your position to take out, from 1% to 100%.
  2. Withdrawing settles the vault first, so fees that had accrued are credited to you as part of leaving.
  3. A full exit claims those fees in the same step. A partial withdrawal leaves them earning.

Fees credited on the way out stay yours even with no position left, and can still be claimed afterwards.

What can go wrong#

RiskWhat it means
Impermanent lossProviding liquidity is not the same as holding. If the price moves, you end up with more of the falling side and less of the rising one.
The pool's own riskYour liquidity sits in a Uniswap pool for a specific token. If that token fails, the position fails with it.
Unaudited contractsThe vault contract has not been through an external audit yet. It is tested extensively and the share cap limits exposure, but that is not the same thing and we will not pretend it is.

HoodLock cannot move, borrow or redirect deposited liquidity. Admin powers are limited to the fee rates, pausing new deposits and raising the share cap, all bounded by constants in the contract. See the security model.

Earn on your liquidity

Pick a pool, supply both sides or just ETH, and withdraw whenever you want.

Open LP Earnings →