From 01bdda7bedc5ecb790e6cadb9a71b961dc178c4c Mon Sep 17 00:00:00 2001 From: devin distefano Date: Fri, 28 Aug 2026 13:43:49 -0500 Subject: [PATCH 1/4] key terms page and table extension --- src/config/sidebar.ts | 4 + src/content/data-feeds/key-terms.mdx | 158 ++++++++++++++++++ src/content/data-feeds/llms-full.txt | 138 +++++++++++++++ src/content/data-feeds/llms.txt | 1 + .../feeds/components/Tables.module.css | 15 ++ src/features/feeds/components/Tables.tsx | 133 +++++++++++++-- src/features/feeds/utils/feedVisibility.ts | 5 + 7 files changed, 443 insertions(+), 11 deletions(-) create mode 100644 src/content/data-feeds/key-terms.mdx diff --git a/src/config/sidebar.ts b/src/config/sidebar.ts index 7d21381e7ff..61157a15862 100644 --- a/src/config/sidebar.ts +++ b/src/config/sidebar.ts @@ -880,6 +880,10 @@ export const SIDEBAR: Partial> = { title: "Overview", url: "data-feeds", }, + { + title: "Key Terms and Concepts", + url: "data-feeds/key-terms", + }, { title: "Getting Started", url: "data-feeds/getting-started", diff --git a/src/content/data-feeds/key-terms.mdx b/src/content/data-feeds/key-terms.mdx new file mode 100644 index 00000000000..8fb77bf4572 --- /dev/null +++ b/src/content/data-feeds/key-terms.mdx @@ -0,0 +1,158 @@ +--- +section: dataFeeds +title: "Key Terms and Concepts" +date: Last Modified +metadata: + title: "Chainlink Data Feeds: Key Terms and Concepts" + description: "Understand the columns and fields shown in the Chainlink Data Feeds address tables, including Risk, Pair, Deviation, Heartbeat, Dec, Address, Asset name, Asset type, and Market hours." + keywords: + [ + "Chainlink", + "Data Feeds", + "Key Terms", + "Glossary", + "Risk", + "Pair", + "Deviation", + "Heartbeat", + "Decimals", + "Decimal Precision", + "Address", + "Asset name", + "Asset type", + "Market hours", + ] +--- + +This page explains the columns and fields shown in the [Data Feeds address tables](/data-feeds/price-feeds/addresses). Use it as a reference when reading the tables or integrating a feed. + +## Table columns + +Each row in a Data Feeds address table represents a single feed. The columns describe how the feed reports data and how to read it. + +### Risk + +The market pricing risk category assigned to the feed. Feeds are categorized as 🟢 Low, 🟡 Medium, 🟠 High, or 🔴 Very High market pricing risk based on how reliably the asset can be priced. The risk category helps you evaluate whether a feed is appropriate for your use case. + +To learn how each risk category is defined and how to mitigate risk, see [Selecting Quality Data Feeds](/data-feeds/selecting-data-feeds#data-feed-categories). + +### Pair + +The asset pair that the feed reports, such as `BTC / USD`. The pair identifies the base asset and the quote asset used to express the price. + +### Deviation + +The deviation threshold that triggers a new onchain update. When the reported price moves by at least this percentage from the last reported value, the oracle network publishes a new answer. For example, a deviation of `0.5%` means the feed updates when the price changes by 0.5% or more. + +### Heartbeat + +The maximum time between onchain updates, expressed in seconds. The oracle network publishes a new answer at least this often, even if the price has not moved enough to trigger the [deviation](#deviation) threshold. For example, a heartbeat of `3600s` means the feed updates at least once per hour. + +### Dec + +The number of decimal places used to represent the feed's answer. Because answers are stored as integers, you must know the feed's decimal precision to interpret its value. See [Decimal precision](#decimal-precision) below. + +### Address and info + +The onchain address of the feed's [proxy contract](#proxy-contract), which points to the underlying [aggregator contract](#aggregator-contract). Click the address to view it in a blockchain explorer, or use the copy button to copy it. This column also expands to show additional details about the feed, described in [More info fields](#more-info-fields) below. + +## More info fields + +Expanding a row in the address table reveals additional details about the feed. + +### Asset name + +The name of the underlying asset that the feed reports, such as `1inch`. This is the base asset in the [pair](#pair). + +### Asset type + +The category of the underlying asset, such as `Crypto`, `FX`, or `Precious Metals`. The asset type helps you understand the market the feed tracks and which [decimal precision](#decimal-precision) standard applies. + +### Market hours + +The hours during which the underlying market is open and trading. Some markets, such as precious metals and forex, close on weekends and holidays. To learn how market hours affect feed behavior, see [Market hours](/data-feeds/selecting-data-feeds#market-hours). + +### Asset class + +A broader classification of the asset, such as `Crypto`, `Equities`, or `Macroeconomics`. This is similar to [asset type](#asset-type) but can include additional sub-classifications. + +### Full name + +The full product name of the feed, when available. This is a more descriptive label than the [pair](#pair). + +### Trading hours + +The specific trading session hours for equity feeds, such as `Regular Hours` (9:30am–4:00pm Mon–Fri ET). This is more granular than [market hours](#market-hours) and applies mainly to tokenized equity feeds. + +### Decimals + +The number of decimal places used to represent the feed's answer. This is the same value shown in the [Dec](#dec) column. + +### Bounded (Upper) + +A note shown when a feed has a maximum reportable price. This applies to certain stablecoin feeds that are capped at an upper price bound. To learn more, see [Bounded Market Price Feeds](/data-feeds/selecting-data-feeds#bounded-market-price-feeds). + +### Deprecating + +A note shown when a feed is scheduled for deprecation, including its shutdown date. To learn more, see [Deprecating Feeds](/data-feeds/deprecating-feeds). + +## Decimal precision + +Chainlink Data Feeds use the following decimal precision standards: + +| Asset | Decimal Standard | +| ---------------------- | ---------------- | +| Crypto - USD (Non-Eth) | 8 | +| Crypto - ETH | 18 | +| FX | 8 | +| Precious Metals | 8 | +| Commodities/Energy | 8 | +| All others | Feed specific | + +Decimal precision standards are subject to reevaluation. Decimal precision is not changed on live feeds; if an asset pricing falls below a certain acceptable decimal precision, protocols can talk to their Chainlink representatives about spinning up a new feed to accommodate. + +To get the decimal precision of a given feed, use the `decimals` function as described in the [Getting Started Guide](/data-feeds/getting-started#compile-deploy-and-run-the-contract) and verify with the contract onchain or via [the Address pages](/data-feeds/price-feeds/addresses?showDetails=true#overview). + +For example, when you call `getChainlinkDataFeedLatestAnswer` to retrieve the latest answer from the aggregator contract, the returned value is an integer without a decimal point. You can find the correct number of decimal places for this answer on the [Price Feed addresses](/data-feeds/price-feeds/addresses) page by clicking the **Show more details** checkbox. The answer on the BTC / USD feed uses 8 decimal places, so an answer of `3030914000000` indicates a BTC / USD price of `30309.14`. Each feed uses a different number of decimal places for answers. + +## Related concepts + +### Answer + +The numeric value that a data feed publishes onchain, such as an asset price. Answers are stored as integers in fixed-point format, so they do not include a decimal point. To interpret an answer correctly, you need to know the feed's [decimal precision](#decimal-precision). + +### Aggregator contract + +An onchain contract that receives periodic data updates from the oracle network and stores the aggregated data so that consumers can retrieve it and act on it within the same transaction. Aggregators are the underlying contracts that [proxy contracts](#proxy-contract) point to. For a complete list of functions and variables available on most aggregator contracts, see the [Data Feeds API Reference](/data-feeds/api-reference/#accesscontrolledoffchainaggregator). + +### Consumer + +An onchain or offchain application that uses Data Feeds. Consumer contracts use the [`AggregatorV3Interface`](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.3.0/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol) to call functions on the [proxy contract](#proxy-contract) and retrieve information from the [aggregator contract](#aggregator-contract). For a complete list of functions available in the `AggregatorV3Interface`, see the [Data Feeds API Reference](/data-feeds/api-reference/#aggregatorv3interface). + +### Data Feed + +A decentralized oracle network that aggregates data from many independent sources and publishes it onchain so that smart contracts can access real-world data such as asset prices, reserve balances, and L2 sequencer health. See the [Data Feeds Overview](/data-feeds) to learn more. + +### Decentralized Oracle Network (DON) + +A decentralized, peer-to-peer network of independent node operators that work together to fetch, validate, and deliver data to a data feed. Data Feeds aggregate many data sources and publish them onchain using a combination of the [Decentralized Data Model](/architecture-overview/architecture-decentralized-model?parent=dataFeeds) and [Offchain Reporting](/architecture-overview/off-chain-reporting?parent=dataFeeds). + +### Feed type + +The category of data that a feed provides. Chainlink Data Feeds include [Price Feeds](/data-feeds/price-feeds), [SmartData Feeds](/data-feeds/smartdata), [Smart Value Recapture (SVR) Feeds](/data-feeds/svr-feeds), [Rate and Volatility Feeds](/data-feeds/rates-feeds), [L2 Sequencer Uptime Feeds](/data-feeds/l2-sequencer-feeds), and [Self-Managed Feeds](/data-feeds/self-managed-feeds). See [Feed Types](/data-feeds/feed-types) for an overview. + +### Latest round data + +The most recent data published by a feed, retrieved using the `latestRoundData` function. This function returns five values representing information about the latest price data, including the answer, the round ID, and timestamps. See the [Data Feeds API Reference](/data-feeds/api-reference) for more details. + +### Price Feed + +A type of data feed that provides aggregated, decentralized asset prices with cryptographic integrity, commonly used for collateral, lending, and derivatives. See [Price Feeds](/data-feeds/price-feeds) to learn more. + +### Proxy contract + +An onchain proxy that points to the [aggregator contract](#aggregator-contract) for a particular data feed. Using proxies enables the underlying aggregator to be upgraded without any service interruption to consuming contracts. Proxy contracts can vary from one data feed to another, but the [`EACAggregatorProxy.sol` contract](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.0.0/contracts/src/v0.6/EACAggregatorProxy.sol) on GitHub is a common example. + +### Round + +A single update cycle in which the oracle network publishes a new answer to a feed. Each round has a unique round ID, and historical answers can be retrieved by round ID. See [Historical Price Data](/data-feeds/historical-data) to learn more. diff --git a/src/content/data-feeds/llms-full.txt b/src/content/data-feeds/llms-full.txt index c765170f2f1..79630767d8d 100644 --- a/src/content/data-feeds/llms-full.txt +++ b/src/content/data-feeds/llms-full.txt @@ -1685,6 +1685,144 @@ To learn more about the heartbeat and deviation threshold, read the [Decentraliz --- +# Key Terms and Concepts +Source: https://docs.chain.link/data-feeds/key-terms + +This page explains the columns and fields shown in the [Data Feeds address tables](/data-feeds/price-feeds/addresses). Use it as a reference when reading the tables or integrating a feed. + +## Table columns + +Each row in a Data Feeds address table represents a single feed. The columns describe how the feed reports data and how to read it. + +### Risk + +The market pricing risk category assigned to the feed. Feeds are categorized as 🟢 Low, 🟡 Medium, 🟠 High, or 🔴 Very High market pricing risk based on how reliably the asset can be priced. The risk category helps you evaluate whether a feed is appropriate for your use case. + +To learn how each risk category is defined and how to mitigate risk, see [Selecting Quality Data Feeds](/data-feeds/selecting-data-feeds#data-feed-categories). + +### Pair + +The asset pair that the feed reports, such as `BTC / USD`. The pair identifies the base asset and the quote asset used to express the price. + +### Deviation + +The deviation threshold that triggers a new onchain update. When the reported price moves by at least this percentage from the last reported value, the oracle network publishes a new answer. For example, a deviation of `0.5%` means the feed updates when the price changes by 0.5% or more. + +### Heartbeat + +The maximum time between onchain updates, expressed in seconds. The oracle network publishes a new answer at least this often, even if the price has not moved enough to trigger the [deviation](#deviation) threshold. For example, a heartbeat of `3600s` means the feed updates at least once per hour. + +### Dec + +The number of decimal places used to represent the feed's answer. Because answers are stored as integers, you must know the feed's decimal precision to interpret its value. See [Decimal precision](#decimal-precision) below. + +### Address and info + +The onchain address of the feed's [proxy contract](#proxy-contract), which points to the underlying [aggregator contract](#aggregator-contract). Click the address to view it in a blockchain explorer, or use the copy button to copy it. This column also expands to show additional details about the feed, described in [More info fields](#more-info-fields) below. + +## More info fields + +Expanding a row in the address table reveals additional details about the feed. + +### Asset name + +The name of the underlying asset that the feed reports, such as `1inch`. This is the base asset in the [pair](#pair). + +### Asset type + +The category of the underlying asset, such as `Crypto`, `FX`, or `Precious Metals`. The asset type helps you understand the market the feed tracks and which [decimal precision](#decimal-precision) standard applies. + +### Market hours + +The hours during which the underlying market is open and trading. Some markets, such as precious metals and forex, close on weekends and holidays. To learn how market hours affect feed behavior, see [Market hours](/data-feeds/selecting-data-feeds#market-hours). + +### Asset class + +A broader classification of the asset, such as `Crypto`, `Equities`, or `Macroeconomics`. This is similar to [asset type](#asset-type) but can include additional sub-classifications. + +### Full name + +The full product name of the feed, when available. This is a more descriptive label than the [pair](#pair). + +### Trading hours + +The specific trading session hours for equity feeds, such as `Regular Hours` (9:30am–4:00pm Mon–Fri ET). This is more granular than [market hours](#market-hours) and applies mainly to tokenized equity feeds. + +### Decimals + +The number of decimal places used to represent the feed's answer. This is the same value shown in the [Dec](#dec) column. + +### Bounded (Upper) + +A note shown when a feed has a maximum reportable price. This applies to certain stablecoin feeds that are capped at an upper price bound. To learn more, see [Bounded Market Price Feeds](/data-feeds/selecting-data-feeds#bounded-market-price-feeds). + +### Deprecating + +A note shown when a feed is scheduled for deprecation, including its shutdown date. To learn more, see [Deprecating Feeds](/data-feeds/deprecating-feeds). + +## Decimal precision + +Chainlink Data Feeds use the following decimal precision standards: + +| Asset | Decimal Standard | +| ---------------------- | ---------------- | +| Crypto - USD (Non-Eth) | 8 | +| Crypto - ETH | 18 | +| FX | 8 | +| Precious Metals | 8 | +| Commodities/Energy | 8 | +| All others | Feed specific | + +Decimal precision standards are subject to reevaluation. Decimal precision is not changed on live feeds; if an asset pricing falls below a certain acceptable decimal precision, protocols can talk to their Chainlink representatives about spinning up a new feed to accommodate. + +To get the decimal precision of a given feed, use the `decimals` function as described in the [Getting Started Guide](/data-feeds/getting-started#compile-deploy-and-run-the-contract) and verify with the contract onchain or via [the Address pages](/data-feeds/price-feeds/addresses?showDetails=true#overview). + +For example, when you call `getChainlinkDataFeedLatestAnswer` to retrieve the latest answer from the aggregator contract, the returned value is an integer without a decimal point. You can find the correct number of decimal places for this answer on the [Price Feed addresses](/data-feeds/price-feeds/addresses) page by clicking the **Show more details** checkbox. The answer on the BTC / USD feed uses 8 decimal places, so an answer of `3030914000000` indicates a BTC / USD price of `30309.14`. Each feed uses a different number of decimal places for answers. + +## Related concepts + +### Answer + +The numeric value that a data feed publishes onchain, such as an asset price. Answers are stored as integers in fixed-point format, so they do not include a decimal point. To interpret an answer correctly, you need to know the feed's [decimal precision](#decimal-precision). + +### Aggregator contract + +An onchain contract that receives periodic data updates from the oracle network and stores the aggregated data so that consumers can retrieve it and act on it within the same transaction. Aggregators are the underlying contracts that [proxy contracts](#proxy-contract) point to. For a complete list of functions and variables available on most aggregator contracts, see the [Data Feeds API Reference](/data-feeds/api-reference/#accesscontrolledoffchainaggregator). + +### Consumer + +An onchain or offchain application that uses Data Feeds. Consumer contracts use the [`AggregatorV3Interface`](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.3.0/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol) to call functions on the [proxy contract](#proxy-contract) and retrieve information from the [aggregator contract](#aggregator-contract). For a complete list of functions available in the `AggregatorV3Interface`, see the [Data Feeds API Reference](/data-feeds/api-reference/#aggregatorv3interface). + +### Data Feed + +A decentralized oracle network that aggregates data from many independent sources and publishes it onchain so that smart contracts can access real-world data such as asset prices, reserve balances, and L2 sequencer health. See the [Data Feeds Overview](/data-feeds) to learn more. + +### Decentralized Oracle Network (DON) + +A decentralized, peer-to-peer network of independent node operators that work together to fetch, validate, and deliver data to a data feed. Data Feeds aggregate many data sources and publish them onchain using a combination of the [Decentralized Data Model](/architecture-overview/architecture-decentralized-model?parent=dataFeeds) and [Offchain Reporting](/architecture-overview/off-chain-reporting?parent=dataFeeds). + +### Feed type + +The category of data that a feed provides. Chainlink Data Feeds include [Price Feeds](/data-feeds/price-feeds), [SmartData Feeds](/data-feeds/smartdata), [Smart Value Recapture (SVR) Feeds](/data-feeds/svr-feeds), [Rate and Volatility Feeds](/data-feeds/rates-feeds), [L2 Sequencer Uptime Feeds](/data-feeds/l2-sequencer-feeds), and [Self-Managed Feeds](/data-feeds/self-managed-feeds). See [Feed Types](/data-feeds/feed-types) for an overview. + +### Latest round data + +The most recent data published by a feed, retrieved using the `latestRoundData` function. This function returns five values representing information about the latest price data, including the answer, the round ID, and timestamps. See the [Data Feeds API Reference](/data-feeds/api-reference) for more details. + +### Price Feed + +A type of data feed that provides aggregated, decentralized asset prices with cryptographic integrity, commonly used for collateral, lending, and derivatives. See [Price Feeds](/data-feeds/price-feeds) to learn more. + +### Proxy contract + +An onchain proxy that points to the [aggregator contract](#aggregator-contract) for a particular data feed. Using proxies enables the underlying aggregator to be upgraded without any service interruption to consuming contracts. Proxy contracts can vary from one data feed to another, but the [`EACAggregatorProxy.sol` contract](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.0.0/contracts/src/v0.6/EACAggregatorProxy.sol) on GitHub is a common example. + +### Round + +A single update cycle in which the oracle network publishes a new answer to a feed. Each round has a unique round ID, and historical answers can be retrieved by round ID. See [Historical Price Data](/data-feeds/historical-data) to learn more. + +--- + # L2 Sequencer Uptime Feeds Source: https://docs.chain.link/data-feeds/l2-sequencer-feeds diff --git a/src/content/data-feeds/llms.txt b/src/content/data-feeds/llms.txt index a38fdfa0397..9a45668b248 100644 --- a/src/content/data-feeds/llms.txt +++ b/src/content/data-feeds/llms.txt @@ -9,6 +9,7 @@ Use address pages only when retrieving current feed addresses. ## Overview and Setup - [Overview](https://docs.chain.link/data-feeds.md) +- [Key Terms and Concepts](https://docs.chain.link/data-feeds/key-terms.md) - [Getting Started](https://docs.chain.link/data-feeds/getting-started.md) - [Selecting Data Feeds](https://docs.chain.link/data-feeds/selecting-data-feeds.md) - [Feed Types](https://docs.chain.link/data-feeds/feed-types.md): Choose the correct feed category before retrieving addresses or implementation details. diff --git a/src/features/feeds/components/Tables.module.css b/src/features/feeds/components/Tables.module.css index 373fb59dd70..90fe9acd49a 100644 --- a/src/features/feeds/components/Tables.module.css +++ b/src/features/feeds/components/Tables.module.css @@ -119,6 +119,21 @@ color: var(--color-text-heading); } +.headerHelpLink { + font-size: 0.875rem; + font-style: italic; + font-weight: var(--font-weight-regular, 400); + color: var(--color-text-secondary, #6b7280); + line-height: 1.3; + text-decoration: underline dotted; + text-underline-offset: 2px; + white-space: nowrap; +} + +.headerHelpLink:hover { + color: var(--color-text-link, #2563eb); +} + .statusIcon { margin-right: var(--space-1x); } diff --git a/src/features/feeds/components/Tables.tsx b/src/features/feeds/components/Tables.tsx index db3013621c9..a210acdd4dc 100644 --- a/src/features/feeds/components/Tables.tsx +++ b/src/features/feeds/components/Tables.tsx @@ -268,7 +268,70 @@ const getRiskTooltipPosition = (anchor: HTMLElement) => { } } -const RiskTHeadCell = () => Risk +const RiskTHeadCell = () => ( + + + +) + +const KEY_TERMS_URL = "/data-feeds/key-terms" + +const HeaderHelpLink = ({ anchor, label, hint }: { anchor: string; label: string; hint?: string }) => { + const [tooltipPos, setTooltipPos] = useState | null>(null) + + useEffect(() => { + if (!tooltipPos || typeof document === "undefined") return + + const container = document.createElement("div") + document.body.appendChild(container) + + render( +
+

{hint ?? label}

+

Click to learn more on the Key Terms page.

+
, + container + ) + + return () => { + render(null, container) + container.remove() + } + }, [tooltipPos, hint, label]) + + const showTooltip = (event: Event) => { + setTooltipPos(getRiskTooltipPosition(event.currentTarget as HTMLElement)) + } + + const hideTooltip = () => setTooltipPos(null) + + return ( + + {label} + + ) +} const getFeedTableColSpan = (isStreams: boolean, showRiskColumn: boolean) => (isStreams ? 2 : 5) + (showRiskColumn ? 1 : 0) @@ -477,11 +540,37 @@ const DefaultTHead = ({ {showRiskColumn && } - {isUSGovernmentMacroeconomicData ? "Feed" : "Pair"} - Deviation - Heartbeat - Dec - {isSvr ? "Aggregator and info" : isAptosNetwork ? "Feed ID and info" : "Address and info"} + + {isUSGovernmentMacroeconomicData ? ( + + ) : ( + + )} + + + + + + + + + + + + + ) @@ -780,11 +869,33 @@ const SmartDataTHead = ({ {showRiskColumn && } - SmartData Feed - Deviation - Heartbeat - Dec - Address and Info + + + + + + + + + + + + + + + ) diff --git a/src/features/feeds/utils/feedVisibility.ts b/src/features/feeds/utils/feedVisibility.ts index fd84a20e392..a97fe41e425 100644 --- a/src/features/feeds/utils/feedVisibility.ts +++ b/src/features/feeds/utils/feedVisibility.ts @@ -72,6 +72,11 @@ export function shouldHideAddress(feed: any, riskTier?: string | null): boolean if (feed.docs?.productSubType === "calculatedPrice") return true const proxy: string | null | undefined = feed.proxyAddress if (proxy != null && CONTACT_EMAIL_PROXY_ADDRESSES.has(proxy.toLowerCase())) return true + // Feeds that have hit the shutdown deviation threshold hide their address and + // show the contact email instead, preventing new usage onboarding during the + // shutdown process. + const threshold = feed.threshold ?? feed.deviationThreshold + if (threshold != null && Number(threshold) <= 0.0001) return true return normalizeCategoryKey(riskTier) === "veryhigh" } From 173db2a2484e33e32f58c5ba0c2bbb886a6b763b Mon Sep 17 00:00:00 2001 From: devin distefano Date: Fri, 28 Aug 2026 14:00:05 -0500 Subject: [PATCH 2/4] further updates --- src/content/data-feeds/key-terms.mdx | 23 ++++++-- src/content/data-feeds/llms-full.txt | 23 ++++++-- .../feeds/components/FeedList.module.css | 59 +++++++++++++++++++ src/features/feeds/components/FeedList.tsx | 44 +++++++++----- 4 files changed, 121 insertions(+), 28 deletions(-) diff --git a/src/content/data-feeds/key-terms.mdx b/src/content/data-feeds/key-terms.mdx index 8fb77bf4572..f159afce879 100644 --- a/src/content/data-feeds/key-terms.mdx +++ b/src/content/data-feeds/key-terms.mdx @@ -26,6 +26,21 @@ metadata: This page explains the columns and fields shown in the [Data Feeds address tables](/data-feeds/price-feeds/addresses). Use it as a reference when reading the tables or integrating a feed. +## Feed types + +Chainlink Data Feeds provide multiple feed types for different onchain use cases. Understanding the feed types helps you choose the right feed for your application. + +| Feed Type | Purpose | +| ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Price Feeds](/data-feeds/price-feeds) | Aggregated, decentralized asset prices with cryptographic integrity for collateral, lending, and derivatives. | +| [SmartData](/data-feeds/smartdata) | RWA-focused single-value and multi-variable (MVR) feeds (reserves, NAV, AUM, bundled OHLC sets) enabling secure, data-rich tokenization with efficient onchain reads. | +| [Smart Value Recapture (SVR) Feeds](/data-feeds/svr-feeds) | Specialized feeds providing metrics that help protocols recapture MEV or reduce external value leakage. | +| [Rate and Volatility Feeds](/data-feeds/rates-feeds) | Interest rate curves, staking APR, and realized volatility benchmarks used for pricing models, risk controls, and hedging strategies. | +| [L2 Sequencer Uptime Feeds](/data-feeds/l2-sequencer-feeds) | Real-time status of L2 sequencer availability for protective circuit breakers and fallback transaction logic. | +| [Self-Managed Feeds](/data-feeds/self-managed-feeds) | Data Feeds where a chain or third party publishes onchain updates instead of Chainlink Labs–managed oracle infrastructure; not operated or monitored by Chainlink Labs. | + +For a full overview of each feed type, see [Feed Types](/data-feeds/feed-types). + ## Table columns Each row in a Data Feeds address table represents a single feed. The columns describe how the feed reports data and how to read it. @@ -50,7 +65,7 @@ The maximum time between onchain updates, expressed in seconds. The oracle netwo ### Dec -The number of decimal places used to represent the feed's answer. Because answers are stored as integers, you must know the feed's decimal precision to interpret its value. See [Decimal precision](#decimal-precision) below. +The number of decimal places used to represent the feed's answer. Because answers are stored as integers, you must know the feed's decimal precision to interpret its value. This column is hidden by default and appears when you toggle **More Details**. See [Decimal precision](#decimal-precision) below. ### Address and info @@ -84,10 +99,6 @@ The full product name of the feed, when available. This is a more descriptive la The specific trading session hours for equity feeds, such as `Regular Hours` (9:30am–4:00pm Mon–Fri ET). This is more granular than [market hours](#market-hours) and applies mainly to tokenized equity feeds. -### Decimals - -The number of decimal places used to represent the feed's answer. This is the same value shown in the [Dec](#dec) column. - ### Bounded (Upper) A note shown when a feed has a maximum reportable price. This applies to certain stablecoin feeds that are capped at an upper price bound. To learn more, see [Bounded Market Price Feeds](/data-feeds/selecting-data-feeds#bounded-market-price-feeds). @@ -139,7 +150,7 @@ A decentralized, peer-to-peer network of independent node operators that work to ### Feed type -The category of data that a feed provides. Chainlink Data Feeds include [Price Feeds](/data-feeds/price-feeds), [SmartData Feeds](/data-feeds/smartdata), [Smart Value Recapture (SVR) Feeds](/data-feeds/svr-feeds), [Rate and Volatility Feeds](/data-feeds/rates-feeds), [L2 Sequencer Uptime Feeds](/data-feeds/l2-sequencer-feeds), and [Self-Managed Feeds](/data-feeds/self-managed-feeds). See [Feed Types](/data-feeds/feed-types) for an overview. +The category of data that a feed provides. Chainlink Data Feeds include [Price Feeds](/data-feeds/price-feeds), [SmartData Feeds](/data-feeds/smartdata), [Smart Value Recapture (SVR) Feeds](/data-feeds/svr-feeds), [Rate and Volatility Feeds](/data-feeds/rates-feeds), [L2 Sequencer Uptime Feeds](/data-feeds/l2-sequencer-feeds), and [Self-Managed Feeds](/data-feeds/self-managed-feeds). See [Feed types](#feed-types) above for an overview. ### Latest round data diff --git a/src/content/data-feeds/llms-full.txt b/src/content/data-feeds/llms-full.txt index 79630767d8d..cccd3e61819 100644 --- a/src/content/data-feeds/llms-full.txt +++ b/src/content/data-feeds/llms-full.txt @@ -1690,6 +1690,21 @@ Source: https://docs.chain.link/data-feeds/key-terms This page explains the columns and fields shown in the [Data Feeds address tables](/data-feeds/price-feeds/addresses). Use it as a reference when reading the tables or integrating a feed. +## Feed types + +Chainlink Data Feeds provide multiple feed types for different onchain use cases. Understanding the feed types helps you choose the right feed for your application. + +| Feed Type | Purpose | +| ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Price Feeds](/data-feeds/price-feeds) | Aggregated, decentralized asset prices with cryptographic integrity for collateral, lending, and derivatives. | +| [SmartData](/data-feeds/smartdata) | RWA-focused single-value and multi-variable (MVR) feeds (reserves, NAV, AUM, bundled OHLC sets) enabling secure, data-rich tokenization with efficient onchain reads. | +| [Smart Value Recapture (SVR) Feeds](/data-feeds/svr-feeds) | Specialized feeds providing metrics that help protocols recapture MEV or reduce external value leakage. | +| [Rate and Volatility Feeds](/data-feeds/rates-feeds) | Interest rate curves, staking APR, and realized volatility benchmarks used for pricing models, risk controls, and hedging strategies. | +| [L2 Sequencer Uptime Feeds](/data-feeds/l2-sequencer-feeds) | Real-time status of L2 sequencer availability for protective circuit breakers and fallback transaction logic. | +| [Self-Managed Feeds](/data-feeds/self-managed-feeds) | Data Feeds where a chain or third party publishes onchain updates instead of Chainlink Labs–managed oracle infrastructure; not operated or monitored by Chainlink Labs. | + +For a full overview of each feed type, see [Feed Types](/data-feeds/feed-types). + ## Table columns Each row in a Data Feeds address table represents a single feed. The columns describe how the feed reports data and how to read it. @@ -1714,7 +1729,7 @@ The maximum time between onchain updates, expressed in seconds. The oracle netwo ### Dec -The number of decimal places used to represent the feed's answer. Because answers are stored as integers, you must know the feed's decimal precision to interpret its value. See [Decimal precision](#decimal-precision) below. +The number of decimal places used to represent the feed's answer. Because answers are stored as integers, you must know the feed's decimal precision to interpret its value. This column is hidden by default and appears when you toggle **More Details**. See [Decimal precision](#decimal-precision) below. ### Address and info @@ -1748,10 +1763,6 @@ The full product name of the feed, when available. This is a more descriptive la The specific trading session hours for equity feeds, such as `Regular Hours` (9:30am–4:00pm Mon–Fri ET). This is more granular than [market hours](#market-hours) and applies mainly to tokenized equity feeds. -### Decimals - -The number of decimal places used to represent the feed's answer. This is the same value shown in the [Dec](#dec) column. - ### Bounded (Upper) A note shown when a feed has a maximum reportable price. This applies to certain stablecoin feeds that are capped at an upper price bound. To learn more, see [Bounded Market Price Feeds](/data-feeds/selecting-data-feeds#bounded-market-price-feeds). @@ -1803,7 +1814,7 @@ A decentralized, peer-to-peer network of independent node operators that work to ### Feed type -The category of data that a feed provides. Chainlink Data Feeds include [Price Feeds](/data-feeds/price-feeds), [SmartData Feeds](/data-feeds/smartdata), [Smart Value Recapture (SVR) Feeds](/data-feeds/svr-feeds), [Rate and Volatility Feeds](/data-feeds/rates-feeds), [L2 Sequencer Uptime Feeds](/data-feeds/l2-sequencer-feeds), and [Self-Managed Feeds](/data-feeds/self-managed-feeds). See [Feed Types](/data-feeds/feed-types) for an overview. +The category of data that a feed provides. Chainlink Data Feeds include [Price Feeds](/data-feeds/price-feeds), [SmartData Feeds](/data-feeds/smartdata), [Smart Value Recapture (SVR) Feeds](/data-feeds/svr-feeds), [Rate and Volatility Feeds](/data-feeds/rates-feeds), [L2 Sequencer Uptime Feeds](/data-feeds/l2-sequencer-feeds), and [Self-Managed Feeds](/data-feeds/self-managed-feeds). See [Feed types](#feed-types) above for an overview. ### Latest round data diff --git a/src/features/feeds/components/FeedList.module.css b/src/features/feeds/components/FeedList.module.css index 595679da2a7..cec0b04c00e 100644 --- a/src/features/feeds/components/FeedList.module.css +++ b/src/features/feeds/components/FeedList.module.css @@ -216,6 +216,65 @@ div.shutDate > hr { white-space: nowrap; } +.detailsSwitch { + margin: 0; + display: inline-flex; + align-items: center; + gap: var(--space-2x); + cursor: pointer; + user-select: none; + color: var(--color-text-primary); + font-size: 0.875rem; + white-space: nowrap; +} + +.detailsSwitchTrack { + position: relative; + width: 36px; + height: 20px; + padding: 0; + border: 1px solid var(--gray-300); + border-radius: 999px; + background: var(--gray-200); + cursor: pointer; + transition: + background-color 0.2s ease, + border-color 0.2s ease; + flex-shrink: 0; +} + +.detailsSwitchTrackActive { + background: var(--blue-600); + border-color: var(--blue-600); +} + +.detailsSwitchThumb { + position: absolute; + top: 50%; + left: 2px; + transform: translateY(-50%); + width: 14px; + height: 14px; + border-radius: 50%; + background: var(--white); + box-shadow: 0 1px 2px rgba(16, 24, 40, 0.2); + transition: left 0.2s ease; +} + +.detailsSwitchTrackActive .detailsSwitchThumb { + left: 18px; +} + +.detailsSwitchTrack:focus { + outline: 2px solid var(--blue-500); + outline-offset: 2px; +} + +.detailsSwitchTrack:focus-visible { + outline: 2px solid var(--blue-500); + outline-offset: 2px; +} + .filterCheckboxGroup { display: inline-flex; align-items: center; diff --git a/src/features/feeds/components/FeedList.tsx b/src/features/feeds/components/FeedList.tsx index feadc732f02..9b6bc7f670b 100644 --- a/src/features/feeds/components/FeedList.tsx +++ b/src/features/feeds/components/FeedList.tsx @@ -1845,14 +1845,20 @@ export const FeedList = ({ )} {!isStreams && ( -