Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 8 additions & 16 deletions src/config/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,10 @@ export const SIDEBAR: Partial<Record<Sections, SectionEntry[]>> = {
{
section: "Streams & Report Schemas",
contents: [
{
title: "Overview",
url: "data-streams/reference/report-schema-overview",
},
{
title: "Cryptocurrency Streams",
url: "data-streams/crypto-streams",
Expand Down Expand Up @@ -428,25 +432,13 @@ export const SIDEBAR: Partial<Record<Sections, SectionEntry[]>> = {
},
{
title: "Fetch and decode reports",
url: "data-streams/tutorials/api-go",
highlightAsCurrent: [
"data-streams/tutorials/api-rust",
"data-streams/tutorials/api-rwa-go",
"data-streams/tutorials/api-rwa-rust",
"data-streams/tutorials/api-nav-rust",
"data-streams/tutorials/api-nav-go",
],
url: "data-streams/tutorials/go-sdk-fetch",
highlightAsCurrent: ["data-streams/tutorials/rust-sdk-fetch"],
},
{
title: "Stream and decode reports (WebSocket)",
url: "data-streams/tutorials/ws-go",
highlightAsCurrent: [
"data-streams/tutorials/ws-rust",
"data-streams/tutorials/ws-rwa-go",
"data-streams/tutorials/ws-rwa-rust",
"data-streams/tutorials/ws-nav-go",
"data-streams/tutorials/ws-nav-rust",
],
url: "data-streams/tutorials/go-sdk-stream",
highlightAsCurrent: ["data-streams/tutorials/rust-sdk-stream"],
},
{
title: "Verify report data (EVM)",
Expand Down
2 changes: 1 addition & 1 deletion src/content/data-streams/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ metadata:
keywords: ["Data Streams", "Architecture", "Oracle Network", "DON", "Verification", "API", "Streams Trade"]
whatsnext:
{
"Learn more about the Standard API Implementation": "/data-streams/tutorials/api-go",
"Learn more about the Standard API Implementation": "/data-streams/tutorials/go-sdk-fetch",
"Learn more about the Streams Trade Implementation": "/data-streams/streams-trade",
"Find the list of available Stream IDs": "/data-streams/crypto-streams",
"Find the schema of data to expect from Data Streams reports: Crypto": "/data-streams/reference/report-schema-v3",
Expand Down
2 changes: 1 addition & 1 deletion src/content/data-streams/developer-responsibilities.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ whatsnext:
"Find the schema of data to expect from Data Streams reports: Crypto": "/data-streams/reference/report-schema-v3",
"Find the schema of data to expect from Data Streams reports: RWA": "/data-streams/reference/report-schema-v8",
"Learn the basics about how to retrieve Data Streams reports using the Streams Trade implementation": "/data-streams/getting-started",
"Learn how to fetch and decode Data Streams reports using the Data Streams API": "/data-streams/tutorials/api-go",
"Learn how to fetch and decode Data Streams reports using the Data Streams API": "/data-streams/tutorials/go-sdk-fetch",
}
---

Expand Down
8 changes: 5 additions & 3 deletions src/content/data-streams/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ metadata:
keywords: ["Chainlink", "Data Streams", "Oracle", "DeFi", "Market Data", "Low Latency", "High Frequency"]
whatsnext:
{
"Learn how to fetch and decode Data Streams reports with the API": "/data-streams/tutorials/api-go",
"Learn how to fetch and decode Data Streams reports with the API": "/data-streams/tutorials/go-sdk-fetch",
"Find the list of available Stream IDs": "/data-streams/crypto-streams",
"Find the schema of data to expect from Data Streams reports: Crypto": "/data-streams/reference/report-schema-v3",
"Find the schema of data to expect from Data Streams reports: RWA": "/data-streams/reference/report-schema-v8",
Expand All @@ -24,6 +24,8 @@ Chainlink Data Streams delivers low-latency market data offchain, which you can

Traditional push-based oracles update onchain data at set intervals or when certain price thresholds are met. In contrast, Chainlink Data Streams uses a pull-based design that preserves trust-minimization with onchain verification.

Data Streams are offered in [several report formats](/data-streams/reference/report-schema-overview), each designed for distinct asset classes.

## Sub-Second Data and Commit-and-Reveal

Chainlink Data Streams supports sub-second data resolution for latency-sensitive use cases by retrieving data only when needed. You can combine the data with any transaction in near real time. A "commit-and-reveal" approach mitigates frontrunning by making trade data and stream data visible atomically onchain.
Expand Down Expand Up @@ -86,9 +88,9 @@ Access data directly through REST APIs or WebSocket connections using our SDKs:

1. Understand the Architecture: Review the [system components and data flow](/data-streams/architecture) to understand how Data Streams works.

1. Explore Available Data: Browse [available Stream IDs](/data-streams/crypto-streams) and [report schemas](/data-streams/reference/report-schema-v3) to see what data is available.
1. Explore Available Data: Browse [available reports and associated schemas](/data-streams/reference/report-schema-overview) to see what data is available.

1. Try the API: Follow our [hands-on tutorial](/data-streams/tutorials/api-go) to fetch and decode your first report.
1. Try the API: Follow our [hands-on tutorial](/data-streams/tutorials/go-sdk-fetch) to fetch and decode your first report.

1. Implement Verification: Add [onchain verification](/data-streams/reference/data-streams-api/onchain-verification) to ensure data authenticity in your smart contracts.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ metadata:
keywords: ["Go SDK", "Golang", "Data Streams", "Integration", "API Client", "WebSocket Client", "Report Decoding"]
whatsnext:
{
"Learn how to fetch and decode Data Streams reports using the Data Streams SDK": "/data-streams/tutorials/api-go",
"Learn how to stream and decode reports via a WebSocket connection using the Data Streams SDK": "/data-streams/tutorials/ws-go",
"Learn how to fetch and decode Data Streams reports using the Data Streams SDK": "/data-streams/tutorials/go-sdk-fetch",
"Learn how to stream and decode reports via a WebSocket connection using the Data Streams SDK": "/data-streams/tutorials/go-sdk-stream",
}
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ metadata:
keywords: ["Rust SDK", "Data Streams", "Integration", "API Client", "WebSocket Client", "Report Decoding"]
whatsnext:
{
"Learn how to fetch and decode Data Streams reports using the Data Streams SDK": "/data-streams/tutorials/api-rust",
"Learn how to stream and decode reports via a WebSocket connection using the Data Streams SDK": "/data-streams/tutorials/ws-rust",
"Learn how to fetch and decode Data Streams reports using the Data Streams SDK": "/data-streams/tutorials/rust-sdk-fetch",
"Learn how to stream and decode reports via a WebSocket connection using the Data Streams SDK": "/data-streams/tutorials/rust-sdk-stream",
}
---

Expand Down Expand Up @@ -217,8 +217,8 @@ match client.get_latest_report(feed_id).await {

### Step-by-Step Guides

- [Fetch and decode reports using the REST API](/data-streams/tutorials/api-rust)
- [Stream and decode reports via WebSocket](/data-streams/tutorials/ws-rust)
- [Fetch and decode reports using the REST API](/data-streams/tutorials/rust-sdk-fetch)
- [Stream and decode reports via WebSocket](/data-streams/tutorials/rust-sdk-stream)

### More Examples

Expand Down
85 changes: 85 additions & 0 deletions src/content/data-streams/reference/report-schema-overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
section: dataStreams
date: Last Modified
title: "Overview"
---

import DataStreams from "@features/data-streams/common/DataStreams.astro"
import { PageTabs } from "@components"

<DataStreams section="dsNotes" />

<PageTabs
pages={[
{
name: "Cryptocurrency Report Schema (v3)",
url: "/data-streams/reference/report-schema",
},
{
name: "DEX State Price Report Schema (v3)",
url: "/data-streams/reference/report-schema-v3-dex",
},
{
name: "RWA Report Schema (v8)",
url: "/data-streams/reference/report-schema-v8",
},
{
name: "NAV Report Schema (v9)",
url: "/data-streams/reference/report-schema-v9",
},
{
name: "Backed xStock Report Schema (v10)",
url: "/data-streams/reference/report-schema-v10",
},
]}
headerTitle="Available Report Schemas"
headerDescription="Choose the schema version you want to explore."
/>

## Available Report Schemas

Below is a summary of all available Data Streams report schemas, their main use cases, and key fields.

| Report Schema | Version | Use Case / Purpose | Key Fields |
| :------------------------------------------------------------ | :----------------------------------------- | :---------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------- |
| [Cryptocurrency](#cryptocurrency-report-schema) | [View schema (v3)](./report-schema-v3) | Crypto price streams | `price`, `bid`, `ask` |
| [DEX State Price](#dex-state-price-report-schema) | [View schema (v3)](./report-schema-v3-dex) | DEX state crypto price streams | `price`, `bid`, `ask` (All fields equal; [details](../concepts/dex-state-price-streams#how-to-use-dex-state-price-streams)) |
| [Real World Asset (RWA)](#real-world-asset-rwa-report-schema) | [View schema (v8)](./report-schema-v8) | Real World Asset (RWA) price streams | `midPrice`, `marketStatus`, `lastUpdateTimestamp` |
| [Net Asset Value (NAV)](#net-asset-value-nav-report-schema) | [View schema (v9)](./report-schema-v9) | Net Asset Value (NAV) streams | `aum`, `navPerShare`, `navDate`, `ripcord` |
| [Backed xStock](#backed-xstock-report-schema) | [View schema (v10)](./report-schema-v10) | Tokenized stocks and backed asset streams | `price`, `tokenizedPrice`, `marketStatus`, `currentMultiplier`, `newMultiplier` |

## Cryptocurrency Report Schema

[Chainlink Cryptocurrency Reports](./report-schema-v3) provide market data for digital assets, supporting high-frequency, onchain use cases. Each report includes a consensus mid price (`price`), as well as simulated bid (`bid`) and ask (`ask`) prices that estimate the impact of buying or selling at a specified liquidity depth. These values help protocols and applications understand current market conditions and potential slippage for larger trades.

For a deeper explanation of how liquidity-weighted bid and ask prices work, see [Liquidity-Weighted Bid-Ask Prices (LWBA)](../concepts/liquidity-weighted-prices).

## DEX State Price Report Schema

[Chainlink DEX State Price Reports](./report-schema-v3-dex) are designed for assets that derive most or all of their liquidity from decentralized exchanges (DEXs). Unlike standard crypto price streams, these reports use onchain market data to reflect the unique conditions of AMM pools and DEX-dominant tokens. In this report, the `price`, `bid`, and `ask` fields are all equal, representing the execution price a trader would receive based on the current state of onchain liquidity pools, rather than order-book mechanics. This approach enables accurate, real-time pricing, even for long-tail or newly launched tokens in low-volume environments.

[The DEX State Price methodology](/data-streams/concepts/dex-state-price-streams#high-level-outline-of-the-dex-state-price-methodology) aggregates data from multiple DEX pools, applies volume and TVL-based weighting, and uses filters to reduce manipulation and smooth volatility. Users should be aware of the specific risks inherent to DeFi, such as smart contract vulnerabilities, bridge dependencies, and external price manipulation. It is important to review [risk mitigation guidance](/data-streams/concepts/dex-state-price-streams#risk-mitigation) and adjust protocol parameters accordingly when integrating DEX State Price Reports.

For more details on the methodology and risk considerations, see [DEX State Price Streams](../concepts/dex-state-price-streams).

## Real World Asset (RWA) Report Schema

[Chainlink RWA Data Streams](./report-schema-v8) provide fresh, reliable, and accurate financial market data for real-world assets, enabling DeFi users to gain onchain exposure to physical assets. Each report includes a staleness measure (`lastUpdateTimestamp`), consensus median price (`midPrice`) and market status (`marketStatus`).

RWA assets trade on traditional exchanges during [market hours](../market-hours). These market hours vary by asset class and can be subject to unexpected halts, pauses and other behaviors affecting traditional markets. For this reason, this class of Data Streams contains a market hours flag and a staleness measure to equip our users to handle these events correctly. It is critical that users implement correct safeguards on their end to pause markets, add more conservative risk caps, or do whatever else is appropriate for their application.

## Net Asset Value (NAV) Report Schema

[Chainlink NAV Data Streams](./report-schema-v9) provide real-time, tamper-proof access to the Net Asset Value (`navPerShare`) of tokenized assets, funds, or portfolios, delivered over the low latency, high frequency Chainlink Data Streams infrastructure. Each report includes NAV per share (`navPerShare`), NAV date (`navDate`), assets under management (`aum`), and ripcord status (`ripcord`). The ripcord is set to true (`1`) by the asset issuer when the consumer should ignore the value being sent (for cases such as maintenance, upstream data source outages, etc). The feed data will remain stale until the ripcord returns false (`0`).

NAV is a fundamental financial metric that represents the value of an investment vehicle such as a mutual fund or ETF and is calculated as the total assets minus the total liabilities.

Data Streams ensures that any NAV update, whenever it occurs, is captured and made available immediately and at low latency, allowing for seamless integration with onchain applications alongside other real-time data streams. Although the NAV value may not change frequently, Data Streams provides the most recent NAV as soon as it is published by the source.

## Backed xStock Report Schema

[Chainlink Backed xStock Data Streams](./report-schema-v10) provide fresh, reliable, and accurate financial market data for Tokenized Equities such as [xStock](https://xstocks.com/us) assets, enabling DeFi users to gain onchain exposure to tokenized stocks. These Streams are a unique product provided by Chainlink Labs for partners such as xStocks. They combine data from our US equity Data Streams with data from the tokenization service, which enables users to correctly handle corporate actions affecting the underlying equities. Each report includes the staleness measure (`lastUpdateTimestamp`), consensus mid price (`price`), market status (`marketStatus`), current multiplier (`currentMultiplier`, the number of underlying shares each xStock is redeemable for), new multiplier (`newMultiplier`, the future number of shares after a scheduled corporate action), activation date/time of the corporate action (`activationDateTime`) and the tokenized price if available on primary or secondary markets (`tokenizedPrice`).

The underlying US equities trade on traditional exchanges during [market hours](../market-hours). These market hours depend per asset class and can be subject to unexpected halts, pauses and other behaviors affecting traditional markets. For this reason, this class of Data Streams contains a market hours flag and a staleness measure to equip our users to handle these events correctly. It is critical that users implement correct safeguards on their end to pause markets, add more conservative risk caps, or implement other measures appropriate for their application.

[The schema](./report-schema-v10) is designed specifically for tokenized equities such as xStocks and contains data from the Chainlink US equities streams, combined with data provided by the tokenizer to properly handle corporate actions. With this enhanced data users are able to handle expected and unexpected market events such as pauses, halts and market off hours. The tokenization provider layers in data around the `currentMultiplier`, the `newMultiplier` and the `activationDateTime` of the new multiplier to handle corporate actions.
1 change: 1 addition & 0 deletions src/content/data-streams/reference/report-schema-v10.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ Chainlink Backed xStock Data Streams adhere to the report schema outlined below.

**Notes:**

- Future Backed xStock streams may use different report schemas.
- `price` updates in real time during market open, but may become stale during market closed periods.
- `tokenizedPrice` will be available in an upcoming release of Backed xStock Data Streams. Currently, it will always return `0`.
- `currentMultiplier` reflects all past corporate actions and is updated only when a new action is activated.
Expand Down
4 changes: 4 additions & 0 deletions src/content/data-streams/reference/report-schema-v8.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,7 @@ RWA streams adhere to the report schema outlined below.
| `lastUpdateTimestamp` | `uint64` | Timestamp of the last valid price update (nanoseconds) |
| `midPrice` | `int192` | DON's consensus median price |
| `marketStatus` | `uint32` | [Market status](/data-streams/market-hours). Possible values: `0` (`Unknown`), `1` (`Closed`), `2` (`Open`) |

**Notes**:

- Future RWA streams may use different report schemas.
2 changes: 2 additions & 0 deletions src/content/data-streams/reference/report-schema-v9.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ Chainlink NAV Data Streams streams adhere to the report schema outlined below.

**Notes:**

- Future NAV streams may use different report schemas.

##### `ripcord` Status

- 0 (false) - **Data Provider is OK**. This indicates that the Fund’s data provider and data accuracy is reporting as expected.
Expand Down
Loading
Loading