LibraryMarkets2020Design paperCorpus record
Improved Price Oracles: Constant Function Market Makers
Constant function market makers. Guillermo Angeris and Tarun Chitra.
A constant-function market maker defines a set of reserves that must stay on a curve. Prices and oracle quality fall out of that curve and of the path traders take.
A reading of the public document. Not a copy of it, and not a claim about a later network that reused the name.
A lending protocol that reads a spot price from a pool should be able to say which function, and what it costs to move the slope for one block.
- Evidence
- Primary paper
- Re-measured
- No
- Assumptions
- 3
- Records linked
- 4
Code
Source, repository, and what is actually hosted
- arXiv:2003.10001https://arxiv.org/pdf/2003.10001
- The source URL is not a GitHub repository. No code remote is invented.
- Full text is not mirrored. Public availability is not a licence to copy the file onto this site.
- Add to a reading list
01 Claim ledger
What the paper is allowed to say
Each row is a sentence already in the study. The status is the same on every row: a model claim, not a live measurement.
Claim 01 · Paper model
The defect
Automated market makers were treated as gadgets. This paper treats the trading function as an object you can analyse.
Claim 02 · Paper model
The rule
A constant-function market maker defines a set of reserves that must stay on a curve. Prices and oracle quality fall out of that curve and of the path traders take.
Claim 03 · Paper model
How it is put together
The invariant is the product, or a more general function. The spot price is the slope, not a printed number. An oracle that reads the spot price is reading a manipulable slope.
Claim 04 · Paper model
Where the claim stops
The paper is not Uniswap's code.
02 Three cuts
Observation, model, falsifier
A desk does not stop at the summary. Each claim is cut three ways, using only this study's own assumptions and checks. Nothing here is a new figure.
01 The defect
Observation
What the study says
Automated market makers were treated as gadgets. This paper treats the trading function as an object you can analyse.
Model
What has to hold
Manipulation cost depends on the curve and the block, which the paper models rather than measures for a later market.
Falsifier
What would retire it
What is the invariant?
02 The rule
Observation
What the study says
A constant-function market maker defines a set of reserves that must stay on a curve. Prices and oracle quality fall out of that curve and of the path traders take.
03 How it is put together
Observation
What the study says
The invariant is the product, or a more general function. The spot price is the slope, not a printed number. An oracle that reads the spot price is reading a manipulable slope.
04 Where the claim stops
03 Sequence
One action, as an operating tape
- 01A trader proposes a new reserve point on the curve.
- 02The pool accepts if the invariant holds and the fee is paid.
- 03The price others see is implied by the new reserves.
- 04What is the invariant?
04 Load-bearing
The argument, and where a pitch drops it
Why it is still on the desk
The cut
A lending protocol that reads a spot price from a pool should be able to say which function, and what it costs to move the slope for one block.
Why it carries weight
If this cut is skipped, the paper's name is being used without the mechanism that makes the name mean anything.
Where it is dropped
Manipulation cost depends on the curve and the block, which the paper models rather than measures for a later market.
After the text
The cut
Uniswap v2 and v3 are instances. The paper is the language those instances share.
Why it carries weight
If this cut is skipped, the paper's name is being used without the mechanism that makes the name mean anything.
Where it is dropped
The paper is not Uniswap's code.
05 Register
What has to be true
06 Divergence
What happened after the paper
Uniswap v2 and v3 are instances. The paper is the language those instances share.
A later client, parameter set, or reward formula is a different object. Cite this paper for the mechanism. Cite a primary release for the network. This desk has not re-run the proof.
07 Pre-mortem
What to check before you use the idea
- 0 of 3 marked on this browser. A mark is a reading note, not a pass, a rating, or a recommendation.
08 Anatomy
The paper, in the order a builder needs
The problem it names
Automated market makers were treated as gadgets. This paper treats the trading function as an object you can analyse.
What the design proposes
- The invariant is the product, or a more general function.
- The spot price is the slope, not a printed number.
- An oracle that reads the spot price is reading a manipulable slope.
How the mechanism is specified
- A trader proposes a new reserve point on the curve.
- The pool accepts if the invariant holds and the fee is paid.
- The price others see is implied by the new reserves.
What this page does not treat as proven
Why the desk still reads it
A lending protocol that reads a spot price from a pool should be able to say which function, and what it costs to move the slope for one block.
09 Lexicon
Terms, opened into the record
- Invariant
- The function of reserves the pool refuses to decrease.
- Spot price
- The marginal price implied by the current reserves.
10 Repository
Every linked record on this page
Underlined words open a page that already exists: a concept, a protocol profile, a failure record, or another paper. If a word is not underlined, this desk does not have a record for it.
This is Blockchain Lab's reading of a public design paper. It is not the paper, not a copy of it, and not an offer of tokens, equity, custody or a partnership. Later network behaviour can diverge from the text. Nothing here is investment, legal or technical advice.
Research status: Design paper. Last reviewed: 1 October 2026. This is a reading of a public paper, not investment, legal or security advice.
