Skip to main content
Use the perpetual ticker method when you need the market state a venue publishes together, such as mark and index prices, open interest, premium, and the current or predicted funding rate. Each event is a partial update for one source and market pair.

Methods

The Rust blocking client exposes the same perpetual_tickers(HistoricalQuery) method and returns a HistoricalIterator<PerpetualTickerEvent>.

Python signature

Parameters

Query perpetual tickers

Event shapes

The exported PerpetualTickerEvent type is a legacy/v2 union in every SDK. Python and TypeScript also export the legacy and v2 event types directly. Rust exports LegacyPerpetualTickerEvent, PerpetualTickerEventV2, and the PerpetualTickerEvent enum.

Schema v2

Legacy

Use collector_timestamp as SDK time for v2 events and timestamp for legacy events. Rust provides timestamp(), source(), market(), and data() accessors across both versions. See Event envelope for the version-specific envelope fields.

Payload fields

Every payload field is optional because venues publish different subsets of state: Decimal values remain strings so standardization does not lose venue precision. Parse them with a decimal type for calculations instead of converting them to binary floating-point numbers.

Partial updates

Each event contains only the fields published in that venue message. The SDK does not carry omitted fields forward from earlier events. If you need a current state object, update only the keys present in each payload:
Do not interpret an omitted field as zero or null.

Validation and compatibility

Perpetual ticker events require non-empty source and market identities. The payload must contain at least one recognized field, decimal fields must be strings, and funding_timestamp must be an integer. Invalid rows fail decoding. Legacy and v2 envelopes remain supported. Generic events, replay, and realtime stream methods accept perpetual_ticker rows automatically; use the typed method when you only need perpetual ticker updates. The Rust blocking client can filter an already prepared historical replay with PreparedHistoricalReplay::perpetual_tickers(), which reuses the resolved local files without another catalog, coverage, or download request.

Choose between ticker and point-series methods

Use perpetual_tickers when you need the partial bundle of state published by a venue or want to reconstruct that state in event order. Use funding_rates or mark_prices when you only need one normalized point series, including Python Arrow or DataFrame output.
  • Perpetuals for end-to-end perpetual-market workflows
  • Funding rates for the focused funding point series
  • Mark prices for the focused mark-price point series
  • Events for mixed normalized event streams
  • Snapshots for snapshot-first historical reads