Buy back and autocompound
your V4 LP.

Everyone wants buybacks and self-growing liquidity. Almost nobody can automate them — it always ends in price oracles, keeper bots, or someone on the team pressing buttons. Hook is a free, open-source Uniswap V4 hook that runs both fully on-chain, inside the trades themselves. No oracles. No keys. No trust.

a pot fills up

trading fees and deposits build a pot of collateral inside your pool.

it works both sides

it buys back (and burns) on the way up, and absorbs sells without moving the price on the way down.

liquidity compounds

meanwhile a share of the fees re-invests itself as deeper liquidity — automagically, between trades.

01 · it starts with a pot

Fees and deposits fill a pot inside your pool.

Every hooked pool gets its own pot of collateral. It fills up from three taps: a slice of the pool's own trading fees, deposits from your project or treasury, and donations from anyone — a community member, a partner protocol, another contract. That pot is the fuel for everything below.

  • fed by trading fees, project deposits, and open donations
  • one pot per pool, held by the hook itself — no multisig, no custodian
  • you decide how it's used; the machine does the using
the pot
trading fees
project deposits
anyone's donation
↓ ↓ ↓
34% armed

a pot of collateral living inside your pool — it spends itself, both ways, automatically.

02 · side one — attack

The pot buys back your token. Automatically.

When someone buys your token, the pot buys a little more of it — inside that same trade, at the real market price. No oracle telling it what the price is, no bot waking up on a schedule, no one on the team pressing a button. And the bought tokens go wherever you choose — burn them, recompound them into the pool as more liquidity, send them to staking rewards or your treasury — or split them across all three at once.

  • buybacks ride real buys — demand amplifies demand
  • split the output: a slice burned, a slice back into liquidity, the rest to your recipient
  • sized so it can't be gamed: a tiny buy only ever unlocks a tiny buyback
afterSwap — pump
user buys MAIN1.00 ETH
buy size1.00
pot pumps alongside0.42

pump spend ∝ the carrying buy, capped at 80% of the unlocked slice — a dust buy can only unlock a dust pump. un-sandwichable by construction.

03 · side two — the dip

The same pot buys the dip.

When someone sells, the pot can buy more of your token in that same trade — a standing buy order riding real supply. The seller still hits the curve; the pot is gated so it cannot be farmed: a 10-minute EMA, a volume-paced bucket, and a share of at most 60%. Bought tokens go to the same place as the buybacks — including the burn.

  • every swap can unlock a buyback — buys amplify, sells refill
  • a 10-minute EMA and a k=4 bucket keep the pot unplayable
  • one pot, one pump: it spends secondary on main, never the other way
afterSwap — pump on sells
pot buys the dipsell with no potthe seller still hits the curve— the pot is a gated standing buy
gated by the 10-min EMApot receives the MAIN
04 · growth

Liquidity that feeds itself.

Your pool's trading fees don't have to sit there waiting to be collected. Choose a percentage and the hook re-invests it straight back into the pool as more liquidity — every harvest makes the pool deeper, deeper pools mean better prices, better prices mean more volume. A flywheel made of fees.

  • pick a % of fees to autocompound — the rest goes where you route it
  • works on any price range and pairs with the buyback: fees can fuel the pot too
  • whatever can't be placed this round rolls into the next one — nothing is lost
autocompound + carry
position liquidity, harvest after harvest
compound share of fees24%

the secondary token anchors the mint; whatever can't be placed this round is carried to the next harvest — nothing leaks.

05 · automagic

Everything happens between trades.

This is the part that makes it magic: there is no crank to turn. The buybacks, the burns, the compounding, the fee collection — all of it runs inside the swaps themselves, as people trade. You set the rules once; the market executes them forever.

  • no keeper bots, no cron jobs, no oracles, no team actions
  • set minimum thresholds so it only fires when it's worth the gas
  • trades stay cheap: heavy work is deferred instead of taxing swappers
auto-harvest
fees accrued in position15% of min
swap
swap
swap

once fees pass the owner's minimums, the NEXT swap harvests them automatically inside its own transaction — no keeper, no cron, no oracle.

06 · your rules

Personalize it. Or make it untouchable.

Every knob is yours: the buyback share, the burn share, the compound share, who receives the rest, when things trigger. Ownership and settings are two separate keys, and either can be thrown away — surrender the settings to freeze the rules, or surrender the ownership to lock the LP forever: an instant, trustless liquidity lock with the machine still running on top.

  • fee splits, recipients and thresholds — all configurable, all optional
  • owner and operator are separate roles, each independently renounceable
  • renounce the owner → liquidity locked forever, provably
owner / operator
owner
  • · holds the liquidity
  • · add / remove LP
  • · harvest
  • · transfer or surrender
owner = 0x0 → LP locked forever
operator
  • · edits the fee split
  • · edits harvest minimums
  • · edits recipients
  • · surrender independently
operator = 0x0 → config frozen

two roles, independently surrenderable — lock the settings without losing the property, or lock the property and keep tuning. the hook is not a locker; lockers compose on top.

07 · for every project

Built once, so nobody has to build it again.

Building a V4 hook is hard. Getting Uniswap's interface and the aggregators to route through it is harder. Most projects don't have the budget to act like an AMM just to give their token buybacks or self-growing liquidity. Hook is fully general purpose: any token pair, any chain, zero fee, open source — already deployed and verified everywhere, ready to be pointed at.

  • one donate() call gives any contract oracle-free buybacks
  • works for any pair — your token vs ETH, stables, or another token
  • no fee, no owner, no upgrade keys — the code you see is the code that runs
integrate.sol
// fuel the pot — one call, no oracle hook.donate{value: amt}(key, amt); // read the machine before acting (spend, out) = hook.quotePump(key, buySize); (share, spot, ref) = hook.pumpShareOf(poolId); // same address on every chain 0x03D482cB3Ff339C2d29736818D0F72c66dD6A040
contract-to-contractno price oraclegated views
08 · everywhere

One hook. Eighteen chains.

Deployed at the same address on every network, verified on every explorer. Integrate once, ship everywhere.

deployments — 19 networkssame address everywhere
networkhookenv
EthereumEthereum0x03D4…A040mainnet
BaseBase0x03D4…A040mainnet
UnichainUnichain0x03D4…A040mainnet
ArbitrumArbitrum0x03D4…A040mainnet
OptimismOptimism0x03D4…A040mainnet
BNB ChainBNB Chain0x03D4…A040mainnet
PolygonPolygon0x03D4…A040mainnet
World ChainWorld Chain0x03D4…A040mainnet
SoneiumSoneium0x03D4…A040mainnet
MegaETHMegaETH0x03D4…A040mainnet
RobinhoodRobinhood0x03D4…A040mainnet
AvalancheAvalanche0x03D4…A040mainnet
X LayerX Layer0x03D4…A040mainnet
ArcArc0x03D4…A040mainnet
SepoliaSepolia0x03D4…A040testnet
Base SepoliaBase Sepolia0x03D4…A040testnet
Unichain SepoliaUnichain Sepolia0x03D4…A040testnet
Arbitrum SepoliaArbitrum Sepolia0x03D4…A040testnet
Robinhood TestnetRobinhood Testnet0x03D4…A040testnet
canonical 0x03D482cB3Ff339C2d29736818D0F72c66dD6A040 — every network, no exceptions

Hook has no owner, is not upgradable and takes no protocol fee. It's public infrastructure, designed to be used by anyone who wants to bring buybacks or self-compounding liquidity to their project.

use the hook

Empower your liquidity.

Add liquidity through the hook and switch the machine on: buybacks, burns and self-compounding fees — your pool, your rules, running by itself from the first trade.

build on it

Build on top of the hook.

Launchpads, token factories, treasury managers, trading apps: create hooked pools straight from your own contracts and ship products where every token launches with buybacks and self-growing liquidity built in — same address on all 14 mainnets, nothing to deploy, nothing to pay.