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 exportedPerpetualTickerEvent 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
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:null.
Validation and compatibility
Perpetual ticker events require non-emptysource 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
Useperpetual_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.
Related documentation
- 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