What liquidity providing actually is
If you have only ever bought and sold tokens, this is a different job. It pays differently, it loses differently, and the thing that makes it work is not the thing most people expect.
You are the shop, not the shopper
A trader buys low and hopes to sell high. A liquidity provider does neither. You put two tokens into a pool, and every trader who swaps between those two tokens pays a fee. That fee is yours, in proportion to how much of the pool you supplied.
You are not betting on the price going up. You are being paid for the traffic, whichever way it flows.
That is why a token going sideways can be an excellent position and a token going straight up can be a mediocre one. Traffic pays. Direction does not.
The range is the whole game
Old-style pools spread your money across every price from zero to infinity. Almost all of it sat where no trade would ever happen, earning nothing.
Uniswap V3 and V4 let you say: put my money to work only between this price and that price. Narrow that band and your money is concentrated, so you own a much larger share of the trades that happen inside it, and you earn much more per dollar.
The catch is exact and worth stating plainly:
Outside your range, you earn nothing at all.
Not less. Nothing. A position whose price has walked out of its band is parked, not working. This is the single most important fact about concentrated liquidity, and it is why the bot shows you where the price sits inside your range on every position card.
So the choice is a real trade-off, not a setting to optimise:
| Range | Earns | Needs |
|---|---|---|
| Narrow | Much more, while in range | Watching, and re-ranging when price leaves |
| Wide | Less per dollar | Almost no attention |
Neither is correct. They suit different amounts of attention.
What you actually end up holding
When the price moves, the pool rebalances you automatically. Price rises, and the pool sells your rising token for the other one. Price falls, and it buys more of the falling one.
That is not a bug. It is what a market maker does, and it is why you got paid fees in the first place.
But it means the tokens you take out will not be the tokens you put in. If you deposited half ETH and half USDG and ETH doubled, you will have less ETH and more USDG than if you had simply held. The difference between "what I would have had if I did nothing" and "what I have now" is called impermanent loss, which is a bad name: it is only impermanent if the price comes back.
The honest way to read a position is therefore:
fees earned − impermanent loss = whether this was worth doingThe bot computes both sides. A position can be up in fees and still behind simply holding, and it will say so rather than showing you only the half that looks good.
Why a bot at all
Everything above can be done by hand on Uniswap's own site. What is tedious by hand is:
- finding which pools for a token actually have depth, out of the dozens that exist at different fee tiers
- computing the exact two-sided amounts for a band, at the current tick
- swapping half of one token into the other at the right ratio first
- watching whether price has left your range, at three in the morning
- collecting fees before they are worth less than the gas to collect them
That list is the product. Not the liquidity, which is Uniswap's; the operating of it.
Before you put money in
Three things worth internalising, none of which the bot can decide for you:
Fees are not free money. They are payment for taking the other side of every trade. In a token that only falls, you will be buying it all the way down.
Small pools are dangerous. A pool with little depth moves violently, and its own price can sit far from the wider market's. The bot refuses to open into pools it measures as broken, but a thin pool that is merely thin is your call.
Your range is a prediction. Narrow means you believe the price stays put for a while. That belief is the position.
Next: Getting started walks through your first position, button by button.