Skip to main content
Use client.propamm_quote_ladders() when you need quote ladders from PropAMMs. This method returns standardized quote ladder events across all supported PropAMM sources.

Supported sources

All six PropAMMs produce the same standardized v2 JSONL quote-ladder schema. The recorder uses the following static Ethereum address catalogue:

Method signature

Parameters

Return value

A single-pass iterator of normalized quote ladder event dictionaries by default. With output="batches", returns flat PyArrow record batches; with output="dataframe", returns an eager Pandas DataFrame.

Example response

Standard quote ladder (FermiSwap, BopAMM, Kipseli, Tempest, TaurusFi):
Metric quote ladder (includes pool field):
Note: These examples use artificial addresses and amounts from test fixtures. Real events contain actual blockchain addresses and computed quote amounts.

Fields

PropAMM quote ladder events use the standard v2 event envelope with the following fields:

Event envelope

  • collector_timestamp: when the recorder observed the envelope (milliseconds)
  • collector_sequence: monotonic sequence number for the collector session
  • exchange_timestamp: Ethereum block timestamp (milliseconds)
  • exchange_sequence: venue-provided sequence number or null
  • source: PropAMM source identifier
  • type: always "record" for standardized events

Data structure

Under data:
  • data.series: always "quote_ladder"
  • data.values: quote ladder contents

Quote ladder values

  • event_id: deterministic composite ID (transaction:source:router:token_in:token_out, or includes pool for Metric)
  • chain_id: EVM chain identifier
  • block_number: block containing the quote ladder
  • block_hash: canonical block hash
  • parent_hash: parent block hash
  • transaction_hash: transaction containing the quote ladder
  • transaction_index: transaction position within block
  • router: PropAMM router contract address
  • oracle: oracle contract address (nullable when not applicable)
  • pool: pool contract address (Metric only, omitted for other sources)
  • token_in: input token contract address
  • token_out: output token contract address
  • token_in_decimals: decimal precision for input token
  • token_out_decimals: decimal precision for output token
  • quotes: array of quote objects

Quote objects

Each quote in the quotes array contains:
  • amount_in: input amount as decimal string (preserves full uint256 range)
  • amount_out: output amount as decimal string (preserves full uint256 range)

Important details

  • Decimal strings: Quote amounts use decimal strings to preserve the full Ethereum uint256 range
  • Deterministic IDs: event_id is deterministic across retries; Metric includes its pool address in the ID
  • Market metadata: Each uploaded .jsonl.zst file starts with a metadata row containing source and market. The market field is intentionally omitted from individual data rows
  • Nullable fields: oracle is nullable when not applicable; pool is omitted unless applicable (Metric only)
  • Standardization only: Only quote_ladder records are standardized. Heartbeats, replay telemetry, state updates, and failures remain in raw format
  • No raw embedding: PropAMM explicitly disables embedding the original raw envelope into standardized rows

Example

How it works

client.propamm_quote_ladders() filters quote ladder rows from the standardized stream using snapshot-first replay. Each PropAMM source produces the same v2 JSONL schema, stored separately by logical source with market identifier. The standardized events preserve the full fidelity of the original PropAMM quote ladders while normalizing the envelope structure for consistent querying across all six sources.
  • PropAMMs for discovery, normalization, and quote-curve comparison workflows
  • Events for the complete v2 event envelope specification
  • Snapshots for raw snapshot files and data flow
  • Quickstart for getting started with the Python SDK