Imagine a currency exchange counter with a price board but no cash in its drawers. It cannot serve anyone. Crypto markets need assets ready to trade, too. Who supplies them?
In DeFi, one answer is the liquidity provider, or LP: someone who contributes assets to a shared pool that other people can trade against. Instead of only buying and selling, a token holder can help stock the market.
This article follows selected milestones through 2021, then lets you try two interactive diagrams: a simple token swap and a position with a chosen price range.

Original PoolsFarm illustration, created with OpenAI image generation in our graphite-and-mint Liquidity Field style. This is a visual metaphor for shared liquidity, not a protocol diagram or a performance chart.
First, separate the provider, the pool and the pricing rule
Think of our exchange counter as three parts:
| Term | What it means | At the exchange counter |
|---|---|---|
| Liquidity provider (LP) | Someone who contributes assets for others to trade | A person helping stock the counter |
| Liquidity pool | Assets held and managed by a smart contract | The counter's shared inventory |
| Automated market maker (AMM) | A rule for calculating how much one asset can be exchanged for another | The pricing mechanism |
A smart contract is a program on a blockchain. In a Uniswap v2-style pool, traders exchange assets with that contract, while liquidity tokens record providers' shares. See Uniswap's explanation of pools.
Throughout this article, LP means the provider, not the pool. The provider supplies inventory; the AMM determines the exchange terms.
The original problem: trading without a seller waiting
An order book collects bids and offers: someone wants to buy at 1,990, while someone else offers to sell at 2,010. A trade happens when compatible orders meet. If little inventory is available at the best price, a larger order may need to accept worse prices.
Putting that workflow on a blockchain adds a cost problem. In a 2016 discussion, Vitalik Buterin noted that placing and cancelling on-chain orders could consume gas even without a completed trade. He explored automated exchanges with assets already available to trade.
The question shifts from “Is someone offering to sell right now?” to “Is there a reserve I can trade against under a known rule?” Pools provide one answer. They do not offer unlimited inventory, and order books remain another useful market design.
2017–2021: how the LP's role developed
These are selected milestones, not an exhaustive invention history. The ideas came from multiple contributors; no single project should receive credit for inventing every kind of AMM.
2017 · Bancor makes reserves part of the exchange
The Bancor paper dated April 28, 2017, by Eyal Hertzog, Guy Benartzi and Galia Benartzi, described smart tokens with reserves and algorithmic conversion through contracts. It addressed a problem for smaller currencies: finding a willing counterparty can be difficult.
Bancor is an important early example of using reserves and software rules to support on-chain liquidity without matching two opposite orders at the same moment. Read the Bancor Protocol whitepaper.
2018 · Uniswap opens a shared pool to multiple providers
Hayden Adams launched Uniswap on Ethereum mainnet on November 2, 2018. In his own account, Karl Floersch encouraged him to build an AMM inspired by Vitalik's writing. Adams also credits earlier contributions from Alan Lu and Martin Köppelmann.
One significant step was moving from a prototype with a single provider to pools that tracked multiple providers' shares. The market's inventory could be supplied jointly. The dates and credits come from A Short History of Uniswap, by Hayden Adams.
2019–2020 · Curve and Balancer explore different pool designs
Michael Egorov's StableSwap paper, dated November 10, 2019, proposed a design for assets intended to have similar values, such as stablecoins. Curve launched in early 2020. Its design aims to reduce price movement for swaps near that balance; it does not make a stablecoin immune to losing its peg. See the StableSwap paper and Curve's retrospective.
Fernando Martinelli and Nikolai Mushegian described weighted pools in the 2019 Balancer paper, before the protocol launched in 2020. A pool need not contain only two assets at equal value weights. An 80/20 pool, for example, describes value weights, not counts of 80 tokens and 20 tokens. See the Balancer whitepaper and Balancer V1 in Review.
For an LP, choosing a pool now also means choosing the rules under which their assets will be exchanged.
2020 · Uniswap v2 and incentives for liquidity
Uniswap v2 launched on May 18, 2020, adding direct ERC-20/ERC-20 pairs beyond v1's ETH pairs. Its core paper credits Hayden Adams, Noah Zinsmeister and Dan Robinson. See the v2 launch announcement and Uniswap v2 Core.
Some projects also used token rewards to attract providers. Balancer's BAL liquidity-mining program is one example. Fees paid by traders and incentive tokens distributed by a project are different sources of income; rewards are not a requirement of every pool. See BAL is live!, by Fernando Martinelli.
2021 · Uniswap v3 lets LPs choose a price range
Uniswap v3 launched on May 5, 2021, with concentrated liquidity: providers could allocate liquidity to a selected price interval. Because positions could have different settings, they were represented as NFTs. See the v3 launch announcement.
The LP now had another decision: beyond “Which assets will I supply?”, they could ask “Where along the price range should my liquidity work?”
Try a swap: what changes when someone buys ETH?
We will use a two-asset constant-product pool, not a formula for every protocol. Start with 10 ETH and 20,000 USDC. Ignore trading fees, gas, contract rounding, other trades and changes in liquidity.
Here, ETH is shorthand for readability; a v2-style ERC-20 pair would use WETH, the token representation of ETH. USDC is our unit of account, not a promise that its dollar peg always holds.
How does one swap change a pool?
Press play or step through the swap. This example excludes fees.
LPs supply ETH and USDC. Traders can exchange against that inventory without waiting for a matching seller.
The basic rule is x × y = k. The two reserves are x and y; their product is k. Our no-fee model keeps that product constant during a swap. The mechanism follows Uniswap v2 Core; the example calculations below are by PoolsFarm.
If a trader pays 2,000 USDC to buy ETH:
- The initial product is
10 × 20,000 = 200,000. - The USDC reserve increases to
22,000. - ETH remaining is
200,000 ÷ 22,000 ≈ 9.0909. - The trader receives approximately
10 − 9.0909 = 0.9091 ETH.
They receive less than the full 1 ETH suggested by the initial 2,000 USDC/ETH spot price. Their own trade changes the pool's reserves and exchange rate.
| Measure | Before | After |
|---|---|---|
| ETH in the pool | 10 | ≈ 9.0909 |
| USDC in the pool | 20,000 | 22,000 |
| Pool spot price | 2,000 USDC/ETH | 2,420 USDC/ETH |
The average price paid is 2,200 USDC/ETH. The post-swap spot price is 2,420 USDC/ETH: approximately the rate for an extremely small next trade, not the cost of buying another whole ETH. A larger additional purchase would move the price again.
The change caused by your trade is price impact. Slippage describes the difference between expected and executed trade terms. See Uniswap's explanation of swaps.
The pool does not automatically know every other market's price. Arbitrageurs can buy where an asset is cheaper and sell where it is more expensive, helping bring prices closer together, subject to costs and execution risk. See Understanding Returns.
Real swaps must account for the pool's fee rules. The raw reserve product can grow when fees remain in the pool. We remove that detail here to make the basic exchange easier to see.
What does the LP own, and how can they earn?
Consider a separate deposit example. An existing pool has 9 ETH + 18,000 USDC. You add 1 ETH + 2,000 USDC, bringing the total to 10 ETH + 20,000 USDC. You own approximately 10% of the resulting pool, ignoring minimum locked liquidity and rounding.
That share does not promise the original token quantities back. Withdrawal returns your share of the assets then in the pool. After traders buy ETH, that can mean less ETH and more USDC. In v2, LP tokens track the claim. See Uniswap v2 Pools.
Fee income follows the pool's rules, and some projects add incentive rewards. But earning fees is not the same as making a net profit: asset values, inventory composition and transaction costs also matter.
Why choose a price range?
Suppose an LP wants liquidity to work while ETH trades between 1,800 and 2,200 USDC. Concentrating it there can make capital more useful for trading inside that interval. Outside the range, the position becomes inactive and stops earning swap fees until price returns or the LP adjusts the position.
From the full range to a chosen interval
Move the ETH price to explore a position between 1,800 and 2,200 USDC.
In range → this liquidity participates in swaps and can earn trading fees.
The position does not disappear outside its range. It ends up in one asset, depending on which boundary the price crosses. A narrower range introduces a monitoring tradeoff; it does not guarantee higher net profit. See Uniswap's explanation of concentrated liquidity.
Why fee income and APR do not tell the whole story
Impermanent loss compares providing liquidity with simply holding the original assets when their relative prices change. A position can be worth more than it was at entry and still underperform holding. Fees may or may not cover that difference. “Impermanent” is not a promise that prices will return or losses will recover. See the Uniswap glossary and Understanding Returns.
Other factors are separate from that comparison: smart-contract failures, assets losing their peg, and transaction costs. Reading an LP's results means looking at the assets left and the costs incurred alongside fee income.
Bringing the history back to the pool in front of you
The story runs from a simple inventory problem to shared reserves, different pricing rules and positions with chosen ranges. An LP supplies assets and accepts that trading can change their composition.
When you open a pool, ask: Which rule does it use? How can my inventory change? Where does the displayed income come from? Then explore the pool directory and PoolsFarm's data methodology. The ETH example teaches a mechanism; it is not a simulation of every Solana pool.
Credits and further reading
Written by PoolsFarm, with explanations based on the primary sources linked throughout. This is an original educational article, not a translation or reproduction of a single source.
- Vitalik Buterin — the 2016 on-chain exchange discussion. Karl Floersch, Alan Lu and Martin Köppelmann are credited in Hayden Adams' Uniswap history.
- Eyal Hertzog, Guy Benartzi and Galia Benartzi — Bancor Protocol whitepaper.
- Hayden Adams, Noah Zinsmeister and Dan Robinson — Uniswap v2 Core.
- Michael Egorov — StableSwap whitepaper.
- Fernando Martinelli and Nikolai Mushegian — Balancer whitepaper.
- The Uniswap, Curve and Balancer teams — the documentation and launch announcements cited in each section.
Visual credits: the cover is an original PoolsFarm image created with OpenAI image generation, using our existing Liquidity Field artwork as style references. The interactive diagrams and animations are original PoolsFarm work based on the cited mechanisms. No third-party protocol illustrations were copied. All amounts are teaching examples, not live prices or projected returns.