Aster Order Book Dataset

Aster Historical Order Book Data

Aster futures order book snapshots and deltas normalized into the same schema used across CryptoHFTData derivatives venues.

The sample is one real hourly Parquet/Zstd file. No API key is required on the rate-limited free tier; file size varies with venue, symbol, and market activity.

Dataset fit

Choose the order book detail your research needs

This landing page is for coverage, schema, sample files, and downloads. Use the SDK docs for method parameters and the reconstruction tutorial for replay logic.

L1 / top of book

Best bid and best ask only. Derive this view after replaying the L2 snapshots and deltas; ticker statistics are not a substitute for quotes.

L2 / price-level depth

This dataset. It records aggregate quantity at each visible price level so you can measure spread, depth, and imbalance.

L3 / individual orders

Not provided. L2 cannot reveal queue position or how many individual orders make up a level unless the venue publishes an order count.

Coverage

Order book coverage

Coverage is organized by exchange, market type, and hourly object path. Live symbol counts are shown when the symbols API responds during page generation.

VenueExchange IDMarketHistory startOrder book symbols
Aster Futuresaster_futuresFutures2025-09-29618

Schema

Normalized L2 order book schema

Every row represents one bid or ask price level inside a snapshot or incremental update. Rows carry exchange timing, sequence fields when available, price, quantity, and event type.

FieldTypeNullableDescription
received_timeINT64NoUnix timestamp (nanoseconds) when our system received the event
event_timeINT64NoUnix timestamp (exchange dependent on timescale) when the exchange generated the event
transaction_timeINT64YesExchange-specific transaction timestamp (when available)
symbolSTRINGNoTrading pair symbol (e.g., "BTCUSDT")
event_typeSTRINGNoType of orderbook event ("snapshot" or "update")
first_update_idINT64YesFirst update ID in the update sequence
final_update_idINT64YesFinal update ID in the update sequence
prev_final_update_idINT64YesPrevious final update ID (for gap detection)
last_update_idINT64YesLast update ID processed by the exchange
sideSTRINGNoOrder book side ("bid" or "ask")
priceSTRINGNoPrice level (stored as string for precision)
quantitySTRINGNoQuantity at price level (stored as string for precision)
order_countINT64YesNumber of orders at this price level (when available from exchange)

Access

Download with Python or REST

The sample below downloads BTCUSDT from Aster Futures for 2026-09-02, hour 12. The REST example uses the rate-limited free tier; replace YOUR_API_KEY for authenticated SDK access and higher limits.

Python SDK
import cryptohftdata as chd

client = chd.CryptoHFTDataClient(api_key="YOUR_API_KEY")

df = client.get_orderbook(
    symbol="BTCUSDT",
    exchange=chd.exchanges.ASTER_FUTURES,
    start_date="2026-09-02",
    end_date="2026-09-02",
)

print(df.head())
print(f"Order book rows: {len(df):,}")
REST API
curl --fail --location \
  "https://api.cryptohftdata.com/download?file=aster_futures/2026-09-02/12/BTCUSDT_orderbook.parquet" \
  -o BTCUSDT_orderbook_12.parquet

Caveats

What this data is and is not

These details are important for accurate backtests, replay pipelines, and microstructure features.

L2 order book data is aggregated by price level, not individual L3 orders.

Files contain snapshots plus incremental updates. Build state from a complete snapshot, apply later events in stored order, and reset whenever another snapshot appears.

Sequence fields vary by venue. If available continuity IDs show a gap, discard the local book and wait for a newer snapshot rather than replaying a state you cannot verify.

This page starts on 2025-09-29 based on the earliest stored hourly files for its covered exchange IDs and grows as new hourly files are published.

Next

Use the order book data

Validate the free sample first. Then use an API key for larger downloads and move between the SDK reference, tutorial, and data explorer as needed.