Skip to main content
Use this guide when you want to study size-dependent quotes from proprietary automated market makers. Polaris stores each PropAMM as a separate source under market="ethereum" and standardizes its observed quote ladders into the same event shape.

Representative coverage

This coverage was verified against the public Catalog on 2026-08-27. It is a snapshot, not an exhaustive promise of future availability. Use Catalog for current bounds and access metadata. All six sources currently share coverage from 2026-08-18T13:45:40.211Z through 2026-08-26T00:37:03.400Z, with a public cutoff date of 2026-08-25. Coverage and access can change after this snapshot.

Understand quote-ladder identity

Use the dataset identity and event fields for different purposes: The dataset market is stored in file metadata and intentionally omitted from individual quote-ladder rows. Retain the source and market used for the query alongside any derived records.

Choose a client method

Python provides the dedicated typed method. In TypeScript and Rust, retain only standardized records where data.series == "quote_ladder" when you use the generic event surface.

Query one bounded range

Start with one source and derive a short accessible range from its Catalog row. Quote-ladder events can be large, so iterate them directly unless you need the complete range in memory.
Use allow_gaps=True only when partial coverage is acceptable for the analysis. Keep the default when continuity is required.

Normalize quote amounts

amount_in and amount_out are decimal strings representing onchain integer amounts. Convert them with the corresponding token decimals and Python’s Decimal; binary floating-point values can lose precision for uint256-sized amounts.
Deduplicate complete ladders by event_id, not individual quote points. Each event contains multiple sizes that belong to the same observed curve.

Inspect price impact across a ladder

Select one event and compare its output-per-input rate with the smallest quoted size. A negative rate change means the larger quote returned less output per unit of input.
A recorded quote is an observation, not proof that the same amount was executable later. Account for block timing, gas, transaction ordering, token fees, and venue rules before treating a quote as a realizable fill.

Compare PropAMMs safely

  • Compare the same chain_id, directed token pair, and normalized token amounts.
  • Keep Metric pools separate; two pools can produce different curves for the same pair.
  • Align observations by block or a documented maximum time difference instead of treating the latest rows as simultaneous.
  • Preserve block_hash, parent_hash, and transaction fields when canonical-chain provenance matters.
  • Compare common input sizes. Do not assume that quote arrays from different sources use matching indices or amounts.
  • Keep Decimal values through calculations and round only for presentation.
Only quote_ladder records are standardized for these sources. Heartbeats, replay telemetry, state updates, and failures remain venue-native records.