Report Schema: Futures (v14)

Chainlink Data Streams that use the Futures (v14) schema adhere to the structure outlined below.

Schema Fields

FieldTypeDescription
feedIdbytes32Unique identifier for the Data Streams feed
validFromTimestampuint32Earliest timestamp when the price is valid (seconds) — How report timestamps work
observationsTimestampuint32Latest timestamp when the price is valid (seconds) — How report timestamps work
nativeFeeuint192Legacy onchain verification fee field
linkFeeuint192Legacy onchain verification fee field; not used for subscription billing
expiresAtuint32Expiration date of the report (seconds)
midPriceint192DON consensus mid price
bidPriceint192DON consensus bid price
askPriceint192DON consensus ask price
expiryTimeuint64Contract expiration time (Unix seconds)
firstDayOfNoticeuint64First day of notice for the tracked contract (Unix seconds)
lastSeenTimestampNsuint64Timestamp of the last update received from the data provider (nanoseconds)
marketStatusuint32Market status. Mapping varies by feed; see schema docs. — Status values
contractMonthuint32Standard futures month code (F=Jan, G=Feb, H=Mar, J=Apr, K=May, M=Jun, N=Jul, Q=Aug, U=Sep, V=Oct, X=Nov, Z=Dec)
goldmanRollPriceint192Continuous price using the Goldman Roll (GSCI) methodology
currentBusinessDayuint32Current business day count within the active roll window
interpolatedGoldmanRollPriceint192Interpolated Goldman Roll price (0 when not in an active roll window)

Market Status Values

Each feed's marketStatus field reflects the current market status of the primary exchange venue for that instrument. Futures trade during standard trading hours for each instrument, with a scheduled break each trading day. Consult the exchange where the underlying contract is listed for holiday and early-close schedules.

For full trading schedules and marketStatus mappings, see Market Hours and the Futures reference.

Continuous roll price fields

In addition to the raw generic feed prices — which switch entirely to the next contract at the first notice date — the v14 schema includes continuous price series built using alternative rolling methodologies, for integrators who want a smoothed price instead of a hard cutover:

FieldDescription
goldmanRollPriceUses the Goldman Roll (GSCI methodology): shifts 20% of the position to the next contract each business day, over business days 5–9 of the month preceding delivery
interpolatedGoldmanRollPriceInterpolated Goldman Roll price. Reported as 0 when the feed is not within an active roll window
currentBusinessDayCurrent business day count within the active roll window, so integrators can implement the Goldman Roll methodology themselves

For details on how the generic feeds rotate between contracts and how the continuous roll fields behave, see the Futures reference.

Notes

lastSeenTimestampNs

  • lastSeenTimestampNs helps applications detect stale data, especially important during market transitions and holidays.
  • Do not use lastSeenTimestampNs (or any other timestamp field) to determine whether the market is open. Timestamps indicate when data was last recorded, not whether the market is currently active. Use the marketStatus field as the authoritative signal for market availability.

interpolatedGoldmanRollPrice

interpolatedGoldmanRollPrice is reported as 0 when the feed is not within an active roll window. Behavior on non-trading days (holding the last value versus resetting to zero) is still being finalized.

Get the latest Chainlink content straight to your inbox.