PoolsFarmLP TERMINAL / SOLANA

Solana Liquidity Terminal

A Brief History of Liquidity Providers in DeFi

Discover how DeFi liquidity providers evolved, from Bancor and Uniswap to concentrated liquidity, with simple explanations and interactive pool diagrams.

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.

Separate mint liquidity channels converge into a shared graphite pool, with a connected exchange port and a nested range track

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:

TermWhat it meansAt the exchange counter
Liquidity provider (LP)Someone who contributes assets for others to tradeA person helping stock the counter
Liquidity poolAssets held and managed by a smart contractThe counter's shared inventory
Automated market maker (AMM)A rule for calculating how much one asset can be exchanged for anotherThe 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.

INTERACTIVE EXPLAINER · 01

How does one swap change a pool?

Press play or step through the swap. This example excludes fees.

LPProvider2 assetsLIQUIDITY POOL10ETH20,000USDCx × y = 200,000Trader

LPs supply ETH and USDC. Traders can exchange against that inventory without waiting for a matching seller.

ETH received0.9091 ETH
Post-swap spot price2,420 USDC/ETH
Model by PoolsFarm, based on Uniswap v2 constant-product pricing without fees. Values are rounded. The spot price approximates an extremely small next trade, not the average paid or the cost of another whole ETH.

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:

  1. The initial product is 10 × 20,000 = 200,000.
  2. The USDC reserve increases to 22,000.
  3. ETH remaining is 200,000 ÷ 22,000 ≈ 9.0909.
  4. 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.

MeasureBeforeAfter
ETH in the pool10≈ 9.0909
USDC in the pool20,00022,000
Pool spot price2,000 USDC/ETH2,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.

INTERACTIVE EXPLAINER · 02

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.

Diagram by PoolsFarm, based on Uniswap v3 concentrated liquidity. The axis shows only part of the price range, not simulated returns. Actual protocol boundaries are defined by ticks.

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.

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.

← All articles