Sixteen tables. One schema. Every venue.
Every dataset we publish shares the same symbols, the same timestamps and the same column names, whichever exchange it came from. Each one is available as a historical archive and as a live stream, in Parquet, CSV or newline-delimited JSON.
Four product families.
Each family page lists its tables, columns, venue coverage and example code. Extended fields and chain intelligence are built on top of them.
Spot markets
Trades, L1 quotes and candles from 1s to 1d for every listed pair, on each venue covered under a data agreement.
Derivatives
Perpetuals, dated futures and option chains, with liquidations and mark, index and oracle prices on the same clock as the trades.
Funding & open interest
Every funding print and open interest update, normalized to an hourly rate and an annualized rate so 1h and 8h venues compare directly.
Order book depth
Aggregated levels, order-by-order events and attributed order flow. Snapshots plus deltas, sequence-checked, with every gap recorded.
Extended fields
OFI-ML, VPIN, queue dynamics, cancel-to-fill, book resiliency, price impact, markouts and participant flow, computed from full depth on one clock.
See every fieldChain intelligence
Wallets clustered into anonymous entities, deposits and withdrawals matched to venues, and cross-venue activity linked with a calibrated confidence score.
How attribution worksThe complete table list.
Every table carries venue, symbol, venue_symbol, ts_exchange, ts_capture, seq and source. Prices and sizes are decimal128(38,18) in Parquet and strings in JSON.
| Table | Contents | Built from | History from | Updates | Formats |
|---|---|---|---|---|---|
| Trades and prices | |||||
trades | Every print: price, size, aggressor side, venue trade id. | Venue trade feed | Capture start (Hyperliquid: Nov 2025); other venues per agreement | Historical · live | Parquet · CSV · JSON |
quotes | L1 best bid and offer with sizes, one row per top-of-book change. | Venue book feed | Capture start | Historical · live | Parquet · CSV · JSON |
candles | OHLCV, VWAP and trade count at 1s, 1m, 5m, 1h and 1d. | trades | Capture start (Hyperliquid: Nov 2025); other venues per agreement | Historical · live | Parquet · CSV · JSON |
| Order books | |||||
book_l2 | Aggregated price levels: full-depth snapshots plus every level delta. | Venue depth feed | Capture start (Hyperliquid: Nov 2025) | Historical · live | Parquet · CSV · JSON |
book_l3 | Order events: add, modify, cancel, fill, keyed by venue order id. | Venue order-level feed | Capture start (Hyperliquid: Nov 2025) | Historical · live | Parquet · CSV · JSON |
book_l4 | book_l3 plus participant_id, where the venue publishes it. | Venue order-level feed | Capture start (Hyperliquid: Nov 2025) | Historical · live | Parquet · CSV · JSON |
| Derivatives | |||||
funding | Funding prints and predicted rates, normalized to rate_1h and rate_ann. | Venue funding feed | Capture start (Hyperliquid: Nov 2025) | Historical · live | Parquet · CSV · JSON |
open_interest | Open interest in contracts and USD notional at the venue's publish cadence. | Venue ticker feed | Capture start (Hyperliquid: Nov 2025) | Historical · live | Parquet · CSV · JSON |
liquidations | Forced closes: price, size, side, and the liquidated account where the venue publishes it. | Venue liquidation feed | Capture start (Hyperliquid: Nov 2025) | Historical · live | Parquet · CSV · JSON |
mark_index | Mark, index and oracle prices used for margin and funding. | Venue ticker feed | Capture start (Hyperliquid: Nov 2025) | Historical · live | Parquet · CSV · JSON |
options_chain | Per-strike bid, ask and mark, with IV and greeks where the venue publishes them. | Venue options feed | Capture start of each options venue | Historical · live | Parquet · CSV · JSON |
| Reference, derived and quality | |||||
instruments | Reference data: tick size, lot size, contract size, expiry, settlement asset, listing and delisting dates. | Venue REST metadata | Capture start, versioned daily | Daily snapshot · live changes | Parquet · CSV · JSON |
extended | Eight derived fields (OFI-ML, VPIN, QUEUE, CXL/FILL, RESIL, LAMBDA, MARKOUT, PART) on a 100 ms grid. | L2, L3, L4, trades | Capture start (Hyperliquid: Nov 2025) | Historical · live | Parquet · CSV · JSON |
chain_entities | Address-to-entity mapping with anonymous entity ids, cluster method and confidence. | Public chain data | Jan 2019, or chain launch if later | Versioned hourly | Parquet · CSV · JSON |
chain_flows | Deposits, withdrawals and transfers per entity, linked to venues and trades with a 0–1 confidence. | Public chain data, book_l4, trades | Jan 2019, or chain launch if later | Historical · live | Parquet · CSV · JSON |
gaps | Every sequence gap that survived merging the two capture regions, with start, end and reason. | Capture merge | Capture start | Historical · live | Parquet · CSV · JSON |
L3, L4 and the live stream are included from the Desk plan. Chain intelligence is part of Enterprise and available to Desk as an add-on. See pricing and coverage by venue.
Four ways in, one set of fields.
A query against the archive and a subscription to the live stream return the same columns, so research code moves to production without a rewrite.
Python SDK
Iterators of dicts, or .to_pandas() and .to_polars(). Set live=True to backfill and then keep streaming.
REST API
Paged historical queries at api.financedatacloud.com/v1. 10 req/s on Researcher, 50 req/s on Desk.
Live stream
One subscribe message per channel, venue and symbol. Target under 5 ms median added latency from capture to delivery in the same region.
WebSocket referenceBulk archive
One Parquet file per symbol per UTC day, shared to your AWS account. Best for full-history research runs.
S3 layoutfrom fdc import Client
fdc = Client(api_key="fdc_live_...")
trades = fdc.trades(
venue="hyperliquid",
symbol="BTC-PERP",
start="2027-01-15",
end="2027-01-16",
).to_polars()
# columns: venue, symbol, venue_symbol, ts_exchange, ts_capture,
# seq, source, price, size, side, trade_idcurl -G https://api.financedatacloud.com/v1/trades \
-H "Authorization: Bearer fdc_live_..." \
-d venue=hyperliquid -d symbol=BTC-PERP \
-d start=2027-01-15 -d end=2027-01-16// wss://stream.financedatacloud.com/v1
{"op":"subscribe","channel":"trades","venue":"hyperliquid","symbol":"BTC-PERP"}aws s3 ls s3://fdc-archive/trades/venue=hyperliquid/date=2027-01-15/
# BTC-PERP.parquet ETH-PERP.parquet SOL-PERP.parquet ...Where each historical row comes from.
The source column on every row says how it reached the archive. Filter on it when your research needs capture timestamps.
Captured by us
Recorded by our collectors in Tokyo (ap-northeast-1) and Ireland (eu-west-1), then merged by venue sequence number. For every venue after Hyperliquid, capture runs under the data agreement with that exchange. Every row has both ts_exchange and ts_capture in nanoseconds, and the untouched raw message is kept in the raw tier. Depth, funding, open interest and every other table start on the day capture began for that venue.
ts_exchange 1768470123456000000 ts_capture 1768470123458214377 seq 4410289771 source fdc_capture
Supplied by the venue
The history available for each venue depends on the agreement with that venue. Where an agreement includes history from before our capture began, those rows are labeled with the venue as their source and carry the venue's timestamp only: ts_capture and seq are null. On days where both sources exist, fdc_capture rows are served.
ts_exchange 1735689600123000000 ts_capture null seq null source venue_archive
book_l2, book_l3 and book_l4 start on the day our capture of that venue began. More in data quality and timestamps and clocks.Tell us which tables you need first.
Pre-registered partners choose the datasets and venues we prioritize, and lock in 40% off list for the first 12 months.
EARLY ACCESS · PRE-SALE PRICINGPre-register for early access → DANIEL GARCIA · CEO & FOUNDERdaniel@financedatacloud.com →