Skip to content

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  1. 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?

  2. 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.

    Model

    What has to hold

    It does not say every curve is a good oracle.

    Falsifier

    What would retire it

    Is the oracle the spot slope or a time average?

  3. 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.

    Model

    What has to hold

    It does not say every curve is a good oracle.

    Falsifier

    What would retire it

    Is the oracle the spot slope or a time average?

  4. 04 Where the claim stops

    Observation

    What the study says

    The paper is not Uniswap's code.

    Model

    What has to hold

    The paper is not Uniswap's code.

    Falsifier

    What would retire it

    What is the invariant?

03 Sequence

One action, as an operating tape

  1. 01A trader proposes a new reserve point on the curve.
  2. 02The pool accepts if the invariant holds and the fee is paid.
  3. 03The price others see is implied by the new reserves.
  4. 04What is the invariant?

04 Load-bearing

The argument, and where a pitch drops it

  1. 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.

  2. 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

  • Model · Not re-measured

    The paper is not Uniswap's code.

  • Model · Not re-measured

    It does not say every curve is a good oracle.

  • Model · Not re-measured

    Manipulation cost depends on the curve and the block, which the paper models rather than measures for a later market.

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

  1. 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

  • The paper is not Uniswap's code.
  • It does not say every curve is a good oracle.
  • Manipulation cost depends on the curve and the block, which the paper models rather than measures for a later market.

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.