An automated market maker is the pricing rule a decentralised exchange applies to pooled reserves instead of matching one trader against another. Deposit an amount of one token and the rule returns exactly how much of the other you get, with no quote, no counterparty and no discretion. Formally it holds a function of the reserves constant across every trade, which is why the constant-product version is only one member of a much larger family.
The AMM is not background infrastructure, it is a model you can run before launch. Given your seed reserves and the curve, the trade size that breaks your opening price is a number you can compute, and a team that has not computed it is guessing at the most consequential decision in the launch plan.
Scroll to see the full diagram
A formula standing in for a counterparty
On an order book, a price exists because somebody chose to post it. On an AMM, a price exists because a contract holds reserves and a function of those reserves has to stay constant when they change. The academic framing generalises every design of this kind as a constant function market maker, one that satisfies a trading function equal to a constant for its reserve vector, with the familiar constant-product rule appearing as the special case where that function is the product of the reserves.2
That generalisation is worth carrying, because it separates what is inherent to the model from what is a Uniswap implementation detail. Every AMM shares the same three properties: pricing is deterministic, it depends only on internal state, and larger trades receive worse terms. Everything else, including which curve, which fee, and whether liquidity is spread across all prices or concentrated, is a choice.
A survey of the field catalogues those choices across the protocols that implement them, and the useful takeaway for a founder is that the design space is real and the defaults are not neutral.3
Constant product, and the fee sitting on top of it
In the constant-product form, the product of the two reserves is preserved across a trade before fees.1 Put tokens in and that reserve rises, so the other has to fall, and the amount it falls by is what you receive. The move is not proportional to trade size. Consume a larger fraction of the reserve and the terms deteriorate faster than the size increased, which is why a pool that works for $5,000 trades can be hostile to $50,000 trades in the same pair.
The fee is a separate layer bolted to the same equation. Uniswap v2 charges 0.30% on every trade, of which 0.25% stays with liquidity providers and 0.05% routes to a protocol fee address when that switch is enabled.1 The fee is taken from the input before the formula runs, which is what makes the reserve product creep upward over time rather than staying strictly constant.
The same design also accumulates the relative price of the two assets at the start of each block so other contracts can compute a time-weighted average over arbitrary intervals.1 That matters if anything downstream of your token reads its price onchain, because a spot read from a shallow pool is trivially manipulable within a single block and a time-weighted read is not.
The pool cannot see the market, so arbitrage imports it
An AMM has no oracle, no feed and no opinion. If the asset moves on every other venue, the pool keeps quoting its old ratio until somebody trades against it. That somebody is an arbitrageur, and their profit is the difference between the pool price and the outside price, less the fee and gas.
This is the part founders tend to underweight. Price correction on an AMM is not a service the protocol performs, it is a trade that extracts value from the reserves. The liquidity providers fund it. Every time the reference price moves and an arbitrageur closes the gap, the pool has sold whichever asset was rising and bought whichever was falling, at prices set by a curve rather than by judgement.
The fee is the only thing standing between providers and continuous extraction, which is why fee tier and expected volatility have to be chosen together. A low fee tier on a volatile pair maximises how often arbitrage is worth executing.
What a trader actually pays
Paradigm's breakdown of a decentralised exchange trade separates the cost into four line items: price impact, broker or trading fees, slippage, and the transaction fee of the underlying blockchain.4 Those are four different things with four different causes, and collapsing them into one number is where most trading-cost analysis goes wrong.
Price impact comes from the curve and your own size. The trading fee is the protocol's take. Slippage is what changed between the quote and the fill. Gas is the chain. Only the first is a property of your pool design, and it is the only one a launch team can fix by seeding differently.
What the formula constrains at design time
Three decisions fall out of the model rather than out of preference. The curve, chosen against how the two assets are supposed to relate: constant product for a project token against a stable or gas asset, a stable-optimised curve only where a parity genuinely exists. The fee tier, chosen against expected volatility, since it sets how frequently arbitrage pays. And the seed reserves, solved from the largest trade the design has to absorb and the price move you will accept for it.
Run those three before the deployment script exists. Every one of them is cheap to change on a spreadsheet and expensive to change after a pool is live and holding other people's money.
Where teams get the AMM wrong
The most common error is treating the AMM as plumbing rather than as an input to the token model. The formula is public, deterministic and computable in a spreadsheet, so there is no excuse for a launch plan that cannot answer what a $100,000 sell does to the price on day one.
The second is assuming pooled liquidity substitutes for demand. It does not. Deeper reserves change how gracefully the market absorbs the flow that already exists; they do not create flow. If the underlying business is not generating reasons to hold or use the token, a better curve makes the decline smoother rather than shallower, and that distinction is worth being honest about internally.
Common questions
How does an automated market maker set the price?
From its own reserves and nothing else. The contract keeps a function of the reserve balances constant across each trade, so putting tokens in on one side forces the other side down, and the resulting ratio is the new quoted price. No external feed is consulted. The pool only tracks the wider market when arbitrageurs trade against it, and their profit is what pays for that correction.
What is the difference between an AMM and an order book?
An order book matches a buyer against a seller and prices come from participants choosing to post them. An AMM prices against pooled reserves using a fixed formula, so a quote is always available and never depends on a counterparty showing up. The tradeoff is that an AMM cannot express a view. It will keep quoting a stale price until somebody profits from correcting it.
Why do larger trades get worse prices on an AMM?
Because the price is the reserve ratio, and your trade is what changes it. Each unit you buy comes from a reserve that is shrinking as you buy, so each successive unit costs more than the last. The effect scales with the fraction of the reserve you consume rather than with the dollar size, which is why the same trade behaves very differently in a shallow pool and a deep one.
What fee does an automated market maker charge?
It depends on the pool. Uniswap v2 applies a flat 0.30% to every trade, splitting it 0.25% to liquidity providers and 0.05% to a protocol address when that fee is switched on. Later designs offer multiple fee tiers per pair. The tier is a real design decision: a low fee on a volatile pair makes arbitrage worth executing more often, which extracts more from providers.
See Tokenomics Design for how this applies in practice.
Sources
- Uniswap v2 Core
Hayden Adams, Noah Zinsmeister, Dan Robinson (Uniswap / Paradigm), 2020
Constant-product implementation, the 0.30% fee split into 0.25% to liquidity providers and 0.05% protocol fee, and the per-block accumulating price oracle used for time-weighted averages. - Improved Price Oracles: Constant Function Market Makers (arXiv:2003.10001)
Guillermo Angeris, Tarun Chitra, 2020
Formalises AMMs generally as constant function market makers, with constant-product designs as the special case where the trading function is the product of the reserves. - SoK: Decentralized Exchanges (DEX) with Automated Market Maker (AMM) Protocols (arXiv:2103.12732)
arXiv preprint, 2021
Systematisation of AMM-based exchange designs and the choices that distinguish them. - Understanding Automated Market-Makers, Part 1: Price Impact
Paradigm, 2021
Separates the cost of a decentralised exchange trade into price impact, trading fees, slippage and blockchain transaction fees as four distinct components.
Last reviewed 2026-08
More in Launch and Markets
- Token generation event (TGE)
- TGE float
- Effective sellable float
- Initial coin offering (ICO)
- Initial DEX offering (IDO)
- Initial exchange offering (IEO)
- Decentralized exchange (DEX)
- Liquidity pool
- Concentrated liquidity (V3) versus constant-product (V2)
- Liquidity depth
- Slippage
- Price impact
- Market maker
- Buy pressure
- Impermanent loss
- LP token
- Lending protocol
- Flash loan
- Perpetual futures
- Airdrop farming
- Fair launch
- Liquidity bootstrapping pool (LBP)
Know the terms but not sure how they apply to your project? That is what an engagement is for. We design, document, and stress-test the whole token economy inside the Tokenomics Data Room.
100+ projects advised. Complete tokenomics in 4 to 6 weeks.