Simple Base SwapSimple Base SwapOpen app
← All articles
Aug 20, 2026·4 min read

Uniswap v4 Hooks Explained: Why Some Pools on Base Behave Differently

basedefiswapsaerodrome
base

If you have compared two pools for the same token pair on Base and noticed the fee was not a round number, or that the pool behaved in a way a plain swap pool should not, there is a good chance you ran into a hook. Hooks are one of the defining features of Uniswap v4, which went live on Base on January 31, 2025 alongside nine other chains. This article explains what a hook is, what it can do, and what it means for someone who is just trying to swap tokens.

Why hooks exist

Earlier versions of Uniswap kept pools simple on purpose. A Uniswap v3 pool has a fixed fee tier, usually 0.05%, 0.30%, or 1%, set when the pool is created and never changed afterward. That simplicity made pools predictable, but it also meant every pool worked the same way no matter what the token, the market conditions, or the liquidity provider actually needed.

Uniswap v4 changed the underlying architecture so that all pools live inside a single shared contract instead of each pool being its own separate contract. That shift made pools cheaper to create and cheaper to swap through, and it also opened the door to hooks: small pieces of code that a pool creator can attach to specific moments in a pool's lifecycle, such as right before a swap, right after a swap, before liquidity is added, or after liquidity is removed.

What a hook can actually do

A hook is a smart contract that a pool references at creation. When someone interacts with that pool, the pool manager calls the hook at the relevant step and lets it run custom logic before continuing. In practice this has been used for things like:

  • Dynamic fees. Instead of a fixed fee set once, a hook can raise or lower the swap fee based on volatility, trading volume, or time, so liquidity providers earn more when markets are choppy and traders pay less when they are calm.
  • On-chain limit orders. A hook can hold an order until the market price crosses a chosen level, then execute it during a normal swap that happens to move the price through that point.
  • Time-weighted execution. Large orders can be split and filled gradually inside the hook's logic instead of landing on the pool all at once, which reduces the price impact of a single big trade.
  • Custom access or fee rules. A hook can apply different fees or conditions depending on who is swapping, which is more relevant to institutional or protocol-level pools than to an everyday user.

None of this changes what a swap fundamentally is: you are still trading against a shared reserve of two tokens, and the pool still moves price along a formula. A hook just gives the pool creator a way to customize the rules around that trade.

What this means when you swap on Base

For most people swapping through a wallet or an aggregator, hooks are invisible most of the time. The aggregator compares pools, including hook-enabled ones, alongside plain v3 style pools and Aerodrome pools, and routes your trade to wherever the price is best after fees. This blog's DEX aggregator article covers how that comparison works in more detail.

Where hooks become relevant to you directly is fee variability. If you swap the same pair twice in one day and the effective fee is not identical both times, a dynamic fee hook could be the reason, not a mistake in your wallet. It is also worth checking price impact and slippage the same way you would for any pool, since a hook changing the fee does not change the need to review the quote before you confirm.

The tradeoff: more flexibility, more surface area

Hooks are permissionless. Anyone can write one and deploy a pool that uses it, the same way anyone can deploy an ERC-20 token. That flexibility is what makes features like dynamic fees and on-chain limit orders possible, but it also means a hook is custom, unaudited code unless someone has actually reviewed it. A poorly written or malicious hook can behave in unexpected ways, including manipulating the price a swapper receives or blocking certain interactions entirely.

This is the same category of risk covered in this blog's smart contract audit article: code being deployed does not mean code being safe. The practical takeaway is not to avoid hook-enabled pools outright, since many are built by well known teams and reviewed publicly, but to treat an unfamiliar pool with a hook attached the same way you would treat an unfamiliar token, with a bit more caution than a plain, well established pool.

The short version

A hook is custom code a Uniswap v4 pool can run at key moments like before or after a swap. It lets pool creators build features such as dynamic fees and on-chain limit orders that were not possible in earlier versions, and it is part of why pool behavior on Base can vary more than it used to. For a typical swap, the mechanics you already check, quoted price, price impact, and slippage tolerance, still matter the most. Hooks change what happens inside the pool, not the questions worth asking before you confirm a trade.

Ready to try it yourself?

Create a non-custodial wallet on Base in seconds. No account, no sign-up.

Open the web app