Historical data

Captured history, delivered for your workflow.

We continuously store the raw market events our pipeline captures. Tell us the datasets, markets, date range, and format you need; we verify coverage and prepare the export manually.

Point-in-time valuationindexed by block

value_at(N) =

  • balanceOf(addr, N)raw ERC-20, static across actions
  • uiMultiplier_at(N)the term everyone else skips
  • price_at(N)session-aware, venue-weighted
Tokenized equities tracked
200+
Corporate-action types
13
Published invariants
9

Every historical response carries the multiplier it applied and the block that multiplier was valid at · as of 2026-08-27

What's in the archive

Six datasets. One row per event.

Raw captured events, down to individual order-status events and book deltas. Coverage depends on the dataset and the date capture began.

Raw financial values retain exact decimals; wallet attribution and retained coverage vary by dataset. Field-level schemas →

Schema parity

Backtest on history, deploy on live, zero remapping.

The archive and the live gRPC streams are two views of one pipeline. Raw exports preserve the live fields and their decimal-string encoding, with archive metadata added for time and block height. That keeps historical loaders close to the live handlers you deploy.

Archive row · trades dataset

manual Parquet / CSV / JSONL export

block_timetimestamp2026-06-09T08:14:02.418Z
coinstringBTC
pxstring67012.0
szstring0.14523
notionalstring9732.15
sidestringB
userstring0x7c4e…a3f9
closed_pnlstring182.337041
feestring2.433037
crossedbooltrue
tiduint64442191083327011

Live message · StreamSwaps

stream.robinhoodrpc.io:443 · gRPC

"block_time": "2026-06-09T08:14:02.418Z",
"coin": "BTC",
"px": "67012.0",
"sz": "0.14523",
"notional": "9732.15",
"side": "B",
"user": "0x7c4e…a3f9",
"closed_pnl": "182.337041",
"fee": "2.433037",
"crossed": true,
"tid": 442191083327011

Hover a field. It is the same field, byte for byte, on both sides. Raw export fields stay aligned with the stream field model.

Precision

Exact decimals for raw financial values.

Most data vendors hand you float64 and call it precision. Floats cannot represent most decimal prices. The error is tiny per row and systematic across a backtest, which is the worst possible combination for anyone measuring edge in basis points.

Raw prices, sizes, fees, and PnL values are stored as exact decimals rather than binary floats. Calculated or aggregated datasets are described separately when you request them. At ~100ms block times, and with a multiplier that changes under you, “close enough” is not a storage format.

The same arithmetic, two storage models

float64 results reproducible in any IEEE-754 runtime

One fill: notional = px × sz

67012.0 × 0.14523

float64drift
9732.152759999999
archiveexact
9732.15276

One million 0.001 fees, summed

Σ 0.001 × 1,000,000

float64drift
999.9999999832651
archiveexact
1000.000

This is the arithmetic a backtest runs millions of times. The archive stores decimals, so the error is never there to compound.

Delivery

Request the data shape you need.

Historical access is handled manually today. We confirm captured coverage before agreeing the dataset, date range, format, and delivery method.

Manual export

Request captured raw data by dataset, markets, and date range. We verify coverage, prepare the files, and arrange delivery.

ParquetCSVJSONL
Request an export

Available on request

Custom dataset

Request OHLCV, wallet PnL, funding, liquidation, or another agreed shape built for a specific research or analytics need.

See examples

Scoped and quoted per request

Recent stream replay

Scale customers can replay captured stream data from a recent block within the last 6 hours, then continue live.

Read replay docs

Scale · up to 6 hours

Coverage & scale

Captured continuously. Growing daily.

We report what the pipeline has captured, not a chain-genesis guarantee. Confirmed coverage depends on dataset and date range.

0+

tokenized equities

0

corporate-action types

0

venues consolidated

0

published invariants

Every figure above is checkable against Robinhood’s own public endpoints, as of 2026-08-27. Need a specific range or data shape? Ask us to verify coverage before delivery.

FAQ

Historical data, answered.

Coverage, formats, schema parity, and how the archive relates to the live feeds.

A data and RPC provider for Robinhood Chain. We stream real-time market data over gRPC, serve Robinhood Chain/the equities REST API RPC, and prepare historical exports and custom datasets on request.

All of them: perpetuals, spot, and HIP-3 / pre-market, including new listings. Currently 462 markets and growing.

Raw prices, sizes, PnL, and fees preserve their exact decimal representation rather than being converted to binary floats. Calculated or aggregated fields are documented separately.

Yes. We continuously store captured raw events and prepare Parquet, CSV, or JSONL exports manually on request. We verify dataset and date-range coverage before committing to delivery.

Scale can start a stream from a recent block within the last 6 hours, catch up, and then continue live. Request older captured data as a manual export.

Coverage varies by dataset and by the date capture began. Send us the dataset, markets, and range you need; we verify retained coverage before scoping a manual export.

Parquet, CSV, and JSONL can be requested for manual delivery. The delivery location and file layout are agreed during scoping.

Raw exports preserve the live event fields and decimal-string encoding, with archive metadata such as time and block height added where available.

Yes, on request. OHLCV, wallet PnL, liquidation, and funding outputs are examples. We first verify captured source coverage, then agree the calculations, schema, format, and delivery scope.

Tell us what history you need.

Send the datasets, markets, date range, and preferred format. We will verify coverage and scope the delivery.