Choosing a stream

Nine streams, organised by the question you arrived with rather than by our product structure.

Start here

Most integrations need one or two streams, not nine. Find the question closest to yours below; each answer names the stream and the one thing people most often get wrong about it.

Every stream shares the same delivery model — backfill and live through one interface, resumable by cursor, at-least-once with an explicit dedup_key, and reorgs emitted as events rather than silently corrected. Choosing between them is a question of payload, not plumbing.

What did this instrument trade at?

The consolidated tape. It is the only stream that carries every venue in one sequenced record, so it is the right answer whenever the question is about executions rather than quotes.

What can I trade it at right now?

Consolidated quotes. Liquidity is split across an AMM, a propAMM and two perp venues, so a single venue's quote is not the market — this stream publishes the best bid and offer across all of them with aggregate depth.

Is it cheap or expensive versus the real stock?

Price reconciliation. It carries all four price sources with their staleness and computes the premium in basis points, which is the number that actually matters on a tokenized-equity chain.

Watch out: Divergence is widest when the underlying market is closed, so read the session field alongside the premium.

Is something about to happen to this instrument?

Corporate actions. A large multiplier change requires a scheduled contract pause, and this stream emits PAUSE_SCHEDULED with a countdown rather than leaving you to discover the discontinuity afterwards.

I need a chart.

Candles, from one second to one day, built from the consolidated tape rather than a single venue.

Watch out: Filter on crosses_session_boundary unless you specifically want candles that mix trading sessions.

What does this wallet hold, and what is it worth?

Balances. Every record carries the raw ERC-20 amount, the underlying-share equivalent, and the multiplier that converts between them.

I need the lowest possible latency.

Transactions with include_unconfirmed. Records arrive at SEQUENCED, before block inclusion, and move through INCLUDED to FINALIZED so you choose your own certainty threshold.

Watch out: A SEQUENCED record can still end at DROPPED. Decide what you do in that case before you act on pre-confirmation data.

I am indexing my own contract.

Logs, with a server-side address and topic filter. Contracts with a known ABI arrive decoded alongside the raw data.

I need chain structure, not market data.

Blocks. Headers carry the Arbitrum fields — l1BlockNumber, sendCount, sendRoot — that generic EVM providers drop.

Still unsure

If the question involves a price, start with the consolidated tape and add price reconciliation when you need to compare against the underlying. Those two answer most questions on this chain.