# TickHarberger > Leases the right to price a pool's flow, one tick range at a time, under a Harberger tax. A production Uniswap v4 hook. Source: https://github.com/nirholas/tick-harberger. Part of the HookForge catalogue: https://hookforge.pages.dev ## How it works An automated market maker charges the same fee everywhere, which is the same as saying it believes every price level is equally valuable to trade at. No venue with a human on it believes that. The flow near the current price is worth something quite different from the flow forty percent away, and it changes hour by hour, and a governance vote on a single pool-wide number is not a mechanism for discovering it. Auction-managed AMMs answered this by selling the right to set the fee for the whole pool, which is a real improvement and still one number. This sells it per tick range. Somebody who believes the band the price is sitting in is worth more than the market thinks can buy exactly that band, and nothing else. The lease is Harberger. A holder names their own price for the range and pays continuous rent on that number, and anybody may take the range from them at any moment by paying it. Naming a low price is cheap and loses the range; naming a high one keeps it and costs. There is no auction to run, no round to wait for, and nobody who decides who wins: the holder's own valuation is both the tax base and the strike, which is what makes the two honest at once. Rent accrues only while a range holds the current price, which is the only time the right is worth anything. That is not a concession, it is what makes squatting self-defeating: holding a distant range costs nothing, and the valuation that makes it free to hold is also the price at which it is taken away the moment it becomes valuable. Rent goes to the pool's liquidity providers by donation, so the people whose capital is being priced are the people paid for it. What the leaseholder earns is the fee they set, taken on top of the pool's own, which is the position they paid rent to occupy. ## Prior art The am-AMM line of work (Adams, Milionis, Moallemi, Roughgarden) auctions the right to manage a whole pool, and v4 hooks implementing it exist. Harberger taxes on-chain go back to Radical Markets and appear in Wildcards, This Artwork Is Always On Sale and the partial-common-ownership NFT designs. Dynamic-fee hooks set one fee per pool from volatility or flow. Leasing the fee-setting right per tick range under a continuous self-assessed tax, so that price levels are priced separately and by whoever thinks they know better, is the contribution here. ## Where it does not help Rent only accrues where the price actually is, so a pool that never moves pays rent on one range and leaves the rest free to hold. That is the intended incentive and it does mean the mechanism says nothing about ranges the price never visits. The lease is denominated in the pool's second currency, which must be an ERC-20, so a pool of native currency against nothing else cannot use it. Rent reaches providers through `donate`, which credits whoever is in range when it settles rather than whoever was in range while it accrued; settling often keeps that close, and `settleRent` is callable by anyone for exactly that reason. Finally, a leaseholder charging the maximum is still charging it, so `maxFeePips` is the real protection for traders and a pool that sets it carelessly has sold them. ## Facts Slug: tick-harberger Contract: TickHarbergerHook Callbacks: afterSwapReturnsDelta, afterSwap, beforeSwap, afterInitialize Parameters: rangeWidth (int24), rentRateBps (uint32), maxFeePips (uint24), minDeposit (uint128) Dynamic fee required: no ## Caveats - Unaudited. - A deployment with status "deterministic" is a mined CREATE2 address with no code at it yet. Never present one as live.