Transactions stream
Chain transactions, optionally including pre-confirmation from the sequencer feed.
rhrpc.v1.ChainStream/StreamTransactionsWhat it carries
Typed transactions with Arbitrum Nitro fields that generic EVM providers drop: type codes 100–106, requestId on parent-to-child transactions, and address aliasing exposed as both from and unaliasedFrom. Set include_unconfirmed to receive records at SEQUENCED, before block inclusion.
Key fields
Delivery semantics
Every SEQUENCED record reaches a terminal state — INCLUDED, DROPPED or REORGED. A pre-confirmation is never left unresolved.
Volume: Scales with chain activity. Every record carries a dedup_key and a monotonic sequence, so at-least-once delivery is deterministic to deduplicate.
Server-side filters
- from
- to
- block range
- include_unconfirmed
Filters are evaluated before bytes leave us, so a narrow subscription costs you nothing in bandwidth or parse time.
Subscribe
import { RobinhoodRPC } from "@robinhoodrpc/sdk"; const client = new RobinhoodRPC({ apiKey: process.env.RHRPC_KEY! }); // Backfill then live: omit toBlock to tail indefinitely.for await (const msg of client.transactions.stream({ fromBlock: 4_200_000,})) { handle(msg);}Sample message
{ "hash": "0x7a1e…", "block_number": 4512889, "from": "0x2f9b…", "to": "0xc41d…", "tx_type": "ARBITRUM_TX_TYPE_DYNAMIC_FEE", "from_is_aliased": false, "confirmation_state": "CONFIRMATION_STATE_SEQUENCED"}Correctness notes
Prices in this stream are already multiplier-adjusted where the field says so. Robinhood’s own REST endpoint returns raw underlying values and Chainlink’s feed returns multiplier-adjusted ones; mixing them without applying the multiplier — or applying it twice — is the most common source of silent error on this chain.
The full set of rules is published at /docs/equities/correctness-rules.