DeFi Intel

Add Liquidity to Uniswap

DifficultyIntermediate Estimated time20 minutes Last updated2026-07-27

Providing liquidity on Uniswap is a trade, not a savings account. You are selling volatility: you collect fees continuously and you take a loss relative to simply holding whenever the price moves away from where you deposited.

Since v3 introduced concentrated liquidity, that trade has been sharpened. You choose a price range, and your capital only earns fees while the price is inside it. A tight range multiplies your fee rate and multiplies your exposure to being pushed out of range; a wide range approaches the old passive behaviour with correspondingly thinner returns.

Uniswap v4 keeps concentrated liquidity and adds hooks and a singleton architecture, which changes the gas profile and opens the door to pools with dynamic fees. This guide covers both, because in mid-2026 plenty of the deepest pools for a given pair still sit on v3.

What you'll need (prerequisites)

Ranges, fee tiers and impermanent loss

A v3 or v4 position is defined by a pair, a fee tier, and a lower and upper price bound. While the market price sits between the bounds, your capital is active and earning a share of the pool's swap fees proportional to your share of the liquidity in that price region. When the price leaves the range, your position converts entirely into the less valuable of the two assets and stops earning anything.

Impermanent loss is the gap between the value of your position and the value of simply having held the two tokens. It grows with price divergence and it is not impermanent unless the price comes back. Concentration amplifies it: a narrow range around the current price earns far more fees per dollar and converts far faster when the price moves. The break-even question is always the same — do the fees earned while in range exceed the divergence loss?

Fee tier choice follows the pair's volatility. Correlated pairs — stablecoin against stablecoin, or a liquid staking token against its underlying — trade at the lowest tiers, because divergence is small and fee income must come from volume. Volatile and long-tail pairs need higher tiers to compensate for the divergence risk. In v4, a hook may implement a dynamic fee that adjusts with volatility instead of a fixed tier, so read the pool's parameters rather than assuming.

One 2026-specific note: under the UNIfication programme, Uniswap governance activated protocol fees, which take a cut of the swap fee stream that would otherwise go entirely to liquidity providers. Protocol fees were switched on for v2 and v3 on Ethereum mainnet, and a governance vote on extending them to a portion of v4 pools was scheduled for late July 2026. Check the current status before modelling your fee take.

Recommended for this tutorial

Tools and accounts referenced in the steps below:

Secure your DeFi wallet with Ledger

Step-by-step

  1. Step 1: Choose the pair and check that the volume is real

    Fee income is a function of volume through your range, not of total value locked. A pool with a large TVL and little turnover pays almost nothing. Look at the ratio of daily volume to liquidity, and look at whether that volume is consistent or a single spike. If you cannot find sustained volume, providing liquidity is just taking directional risk for free.

  2. Step 2: Pick the version and the fee tier

    Find where the depth actually is for your pair — for many pairs in mid-2026 that is still a v3 pool. Then choose the fee tier that matches the pair's behaviour: the lowest tiers for correlated assets, higher tiers for volatile ones. If the pool is a v4 hook pool with a dynamic fee, read what the hook does before committing capital to it.

  3. Step 3: Decide the range before you open the interface

    Work out, from the pair's realised volatility, how far the price plausibly travels over the period you intend to hold. Set the bounds so the price stays inside for most of that period. A range you have to rebalance weekly will bleed you in gas and in realised divergence loss every time you reset it. Full-range is always available and is the correct choice when you do not have a view.

  4. Step 4: Connect, and prepare both tokens plus gas

    Reach the interface from your own bookmark, connect the wallet, and confirm the network. A position needs both tokens in a ratio determined by your chosen range relative to the current price — a range entirely above the current price is funded in one token only, entirely below in the other. The interface computes the split; make sure you hold enough of each and a gas buffer on top.

  5. Step 5: Approve the tokens, preferring Permit2

    Both tokens need allowances for the position manager. Use Permit2 signatures where offered — scoped and time-limited beats a standing unlimited approval. Otherwise approve the amounts you are depositing.

  6. Step 6: Mint the position and check what you received

    Submit the transaction. You receive an NFT representing the position, not a fungible LP token, which means the position cannot be split or partially transferred like a v2 LP token. Confirm on the explorer that both token amounts left your wallet as expected and that the NFT arrived.

  7. Step 7: Monitor in-range time, and collect fees deliberately

    The metric that matters is the proportion of time the price spends inside your range. Fees accrue as a separate claimable balance and do not auto-compound; you must collect and, if you want, redeposit. On mainnet, collecting small amounts frequently is a net loss after gas — batch it.

  8. Step 8: Rebalance or exit with the arithmetic in front of you

    When the price leaves your range you have three choices: wait for it to return, close and reopen around the new price, or exit entirely. Rebalancing crystallises the divergence loss and costs gas both ways, so it only makes sense if the expected fees in the new range clearly exceed both. When you exit, withdraw liquidity, collect outstanding fees, burn the position, and save the transaction hashes.

The economics you are underwriting

Your revenue is your pro-rata share of swap fees generated while the price is inside your range. Your costs are gas to mint, collect, rebalance and exit; impermanent loss relative to holding; and any protocol fee taken from the swap fee stream. On Ethereum mainnet the gas component alone rules out small positions — a full lifecycle is easily five transactions. Use an L2 deployment for anything modest.

Uniswap v4's singleton and flash accounting make routing cheaper, which helps volume and therefore fee income, but they do not change the fundamental trade. Neither do hooks: a dynamic fee hook can raise the fee during volatility, which partially offsets divergence loss, but it does not eliminate it.

Model it honestly before depositing: estimate the fee APR from recent volume through your intended range, then estimate the divergence loss if the price moves by one standard deviation of its recent behaviour. If those two numbers are close, you are being paid nothing to take real risk.

Security pitfalls

Troubleshooting

FAQ

Is providing liquidity on Uniswap profitable?

Only when fees earned while the price is inside your range exceed the divergence loss you take relative to holding. That depends on real volume through your range, the fee tier, how tight your range is and how volatile the pair is. Many pools with large TVL and little turnover are not profitable to provide into at any range width.

What is impermanent loss in practice?

It is the shortfall between your position's value and the value of simply having held the two tokens. It grows as the price diverges from where you deposited, and concentrated positions amplify it because they convert into the weaker asset faster. It only becomes permanent when you withdraw at the diverged price — but waiting for a reversion is a directional bet, not a fix.

Should I use v3 or v4 pools?

Go where the depth and the volume are for your pair — in mid-2026 that is frequently still a v3 pool, even though v4 is live on more than fifteen networks. v4 offers cheaper routing through its singleton and flash accounting, and hooks that can implement dynamic fees, but a v4 hook pool is only worth using if you understand what the hook does.

How wide should my range be?

Wide enough that the price stays inside it for most of your intended holding period. Ranges that require frequent rebalancing bleed gas and crystallise divergence loss on every reset. If you have no view on the price, full range is the honest choice and behaves like classic pooled liquidity.

Do fees compound automatically?

No. Uniswap fees accrue as a separate claimable balance attached to the position. You must send a collect transaction, and redepositing them is a further transaction. On Ethereum mainnet, collecting small balances frequently costs more in gas than it recovers — batch collections instead.

Sources