Research/Education/Chainlink/What Are Chainlink Price Feeds? How Data Feeds Put Prices On-Chain
# Chainlink

What Are Chainlink Price Feeds? How Data Feeds Put Prices On-Chain

BloFin Academy08/18/2026
A plain-English guide to Chainlink Price Feeds and Data Feeds: what they are, how a decentralized oracle network aggregates one trustworthy number, how a contract reads a feed through proxy and aggregator contracts, deviation and heartbeat updates and staleness, and push-based feeds versus pull-based Data Streams.

Chainlink Price Feeds are on-chain reference contracts that hold a vetted asset price, like ETH to the dollar, updated by a decentralized network of independent nodes. They are the best known type of Chainlink Data Feed, the service that publishes real-world reference data on-chain so a smart contract can read it directly and act on it in the same transaction.

The value of that design is that the price a contract reads is not one company's quote. Many independent operators fetch the data, the network combines their answers into a single median, and that agreed number is stored on-chain where any contract can query it. This is the part of how Chainlink works that most DeFi apps lean on every day.

The interesting details are how that number is produced, how a contract actually reads it, and when it changes.


What a Chainlink Data Feed actually is

A Data Feed is a Chainlink service that delivers real-world reference data on-chain, and a Price Feed is the price-focused version of it. The feed continuously publishes a current value, such as an exchange rate, into a contract on a specific blockchain, so any app on that network can read the latest figure without leaving the chain.

Price is the most common case, but Data Feeds cover more than that. Chainlink publishes feeds for crypto assets, commodities, foreign-exchange pairs, and other reference data, alongside specialized feeds for things like reserve balances (source: Chainlink Data Feeds documentation). What they share is the shape: a decentralized oracle network agrees on a value off-chain, then stores that value in an on-chain contract, ready to read.

That on-chain contract is the key idea. A Price Feed is effectively a reference contract that holds the latest and historical price of an asset as an exchange rate, for example BTC to USD, which contracts can query on demand (source: How Chainlink Price Feeds Secure the DeFi Ecosystem, Chainlink). Because the value already lives on-chain, a contract does not send a request and wait for an answer. It just reads the current number instantly, the same way it would read any other on-chain data. That is what makes feeds practical for apps that need a price the moment a user acts, and it builds directly on the idea behind what Chainlink is as a data layer that connects contracts to real-world information (source: Investopedia).

How a feed reaches one trustworthy number

A feed reaches its number by aggregation, not by trusting a single source. Many independent nodes each fetch the data, the network combines their answers by taking the median, and outliers are dropped. To move the final value, an attacker would have to corrupt most of the nodes at once, which is expensive and hard to hide.

The defense actually works in three layers (source: The 3 Levels of Data Aggregation, Chainlink). First, the raw data comes from premium data providers that already blend prices across many exchanges, weighting for volume and stripping out fake or thin markets, so each source reflects the whole market rather than one venue. Second, each Chainlink node pulls from several of those providers and takes its own median, so no single provider can skew a node. Third, the network takes the median across all the nodes.

Under the hood, the nodes agree off-chain and submit one combined report. Each node signs its own observation, and when the report is published on-chain, the contract verifies those signatures before storing the median value (source: Chainlink Offchain Reporting documentation). The result is a number that carries proof from the whole group in a single transaction, rather than a figure any one party could quietly set. That layered median is the reason a contract can trust a feed with real money.

How a contract reads a feed: proxies and aggregators

A contract does not read the aggregator directly. It reads through a proxy, a stable on-chain address that points to the current aggregator contract behind the feed. That extra step sounds like plumbing, but it is what lets Chainlink upgrade a feed without breaking every app that depends on it.

Here is the structure in plain terms (source: Decentralized Data Model, Chainlink). The aggregator is the contract that receives updates from the oracle network and stores the agreed value on-chain. The proxy sits in front of it as a fixed address. A consumer, meaning any smart contract that uses the feed, points at the proxy. When Chainlink needs to replace the aggregator, say to fix or improve it, the proxy simply repoints to the new one, and the consumer keeps reading the same address as if nothing changed.

When a contract reads the feed, it gets back more than a bare number (source: Data Feeds API Reference, Chainlink). A single read returns the latest answer, a timestamp for when that answer was last updated, and a round identifier. The feed also reports how many decimal places the answer uses, since an on-chain price is stored as a whole number with an implied decimal point rather than a fraction. A well-built app uses all of that, not just the price, which matters for the next question: how fresh is the number?

When a feed updates, and why staleness matters

A feed does not update on every tick. It refreshes when either of two conditions is met, and the first one to trigger wins. That keeps the data current without writing to the chain on every tiny move, but it also means a reader has to check that the value is recent enough to trust.

The two triggers are a deviation threshold and a heartbeat (source: Getting Historical Data, Chainlink). The deviation threshold fires when the off-chain price moves past a set percentage away from the value currently stored on-chain. The heartbeat fires when a set amount of time has passed since the last update, even if the price barely moved. So in a fast market the feed updates on deviation, and in a quiet market the heartbeat keeps it from going stale. An update also only happens when a minimum number of the feed's nodes respond, so a partial set of answers does not push a new value.

The catch is that "recent enough" is the consuming app's responsibility, not the feed's. Chainlink exposes the last-updated timestamp precisely so a contract can compare it against the feed's heartbeat and decide whether the answer is still valid. If it is too old, a careful app pauses or switches to a backup rather than acting on a stale price. Apps that skip that check are exactly where trouble starts, which is one of the risks of Chainlink worth understanding before trusting any protocol with funds.

Push vs pull: Data Feeds and Data Streams

Chainlink offers reference data in two delivery styles, and knowing the difference helps you place Price Feeds correctly. Data Feeds are push-based, meaning the network posts fresh values on-chain on its own schedule. Data Streams are pull-based, meaning an app requests the latest data the moment it needs it, with lower latency.

The push model suits most on-chain apps. A lending market checking collateral, or a stablecoin verifying a rate, wants a value already sitting on-chain that it can read instantly and cheaply, and it does not need sub-second freshness to do its job safely. Price Feeds fit that use perfectly, which is why they are the most widely used Chainlink service and part of what gives the LINK token a real job paying and securing the nodes behind them.

The pull model suits a narrower set of apps that need very fresh, high-frequency data, such as a derivatives platform pricing fast-moving trades. For those, waiting for the next scheduled push is too slow, so the app pulls a fresh, signed report on demand. If your interest is that lower-latency case, Data Streams is the service to read about next. For everyday on-chain pricing, though, a push-based Price Feed is the default, and the two are complements rather than rivals.

What Price Feeds power, and what it means for you

Price Feeds are behind a large share of DeFi, usually invisibly. Lending markets use them to value collateral and decide when a loan is undercollateralized, derivatives platforms use them to mark positions, and stablecoins and tokenized assets use them to confirm rates (source: Galaxy Research). If you use those apps, you rely on a Price Feed without ever calling one yourself.

That reliance is worth understanding even if you never write a contract. The quality of a feed, how many independent sources and nodes stand behind it, shapes how safe an app built on it can be, and a thin or misconfigured feed is a real risk regardless of the Chainlink brand on it. The general question of how DeFi apps use prices goes deeper into the app side, while the point here is narrower: the feed is the input, and the app decides how carefully to use it.

From what we see running BloFin, most people meet LINK as a traded asset long before they think about the feeds it secures, and on BloFin it trades as a USDT-margined perpetual rather than as a token you hold to power a feed. The takeaway is that you benefit from Price Feeds indirectly, through the apps and markets that depend on reliable on-chain data, without ever operating one. Knowing what a feed is, and that a careful app checks the data before acting on it, is enough to judge the tools you actually use.


Frequently asked questions

Are Data Feeds and Price Feeds the same thing?

Not quite. Data Feeds are the broader Chainlink service that publishes real-world reference data on-chain, and Price Feeds are the price-focused type of Data Feed. Chainlink also offers feeds for other reference data, such as reserve balances and certain market indices, all built on the same aggregation model. So every Price Feed is a Data Feed, but not every Data Feed is a price. In everyday use, people often say "price feed" loosely to mean any Chainlink data feed, though the distinction matters once you look at what a specific feed reports.

How often do Chainlink price feeds update?

It depends on the feed, because each one is configured with its own deviation threshold and heartbeat. The feed updates whenever the price moves past its set percentage, or when its heartbeat interval passes, whichever happens first. In a volatile market that means frequent updates driven by deviation, and in a calm market the heartbeat keeps the value from going stale. Because the exact settings differ per feed and can change, a careful app reads the last-updated timestamp rather than assuming a fixed refresh rate.

Do I pay to use a Chainlink price feed?

As an everyday user, no. If you use an app that reads a Chainlink price feed, the app's contract reads the latest on-chain value directly, and that read costs nothing beyond the normal gas for the transaction. The work of running and updating feeds is funded at the network and protocol level, not billed to you per lookup. You would only handle feed-related fees directly if you were a developer paying for a Chainlink service inside your own application.

What is a proxy contract for?

A proxy is a stable address that points to the aggregator contract behind a feed. Apps read the proxy instead of the aggregator so that Chainlink can upgrade or replace the aggregator without breaking anything. The consumer keeps reading the same proxy address, and the proxy quietly repoints to the new aggregator. It is a small piece of design that makes feeds maintainable over years, which matters for infrastructure that thousands of contracts depend on.

Can a price feed give a wrong or stale price?

It can, though the design makes it uncommon. Aggregation across many nodes drops outliers, so one bad source rarely moves the value. The more realistic issue is staleness during extreme conditions, or a feed that pauses, which is why Chainlink exposes a last-updated timestamp for consumers to check. The safest apps verify that the price is recent and within sane bounds before acting on it. When losses happen, it is usually an app that trusted a value without checking it, not the feed inventing a number.

What is the difference between Data Feeds and Data Streams?

Data Feeds are push-based: the oracle network posts values on-chain on a schedule set by deviation and heartbeat, and contracts read whatever is currently stored. Data Streams are pull-based: an app requests a fresh, signed report on demand, with lower latency, and verifies it on-chain when it uses it. Push suits most apps that need a reliable on-chain price cheaply, while pull suits latency-sensitive uses like fast derivatives pricing. They solve different problems and are often used together rather than as substitutes.


Researched and written by the BloFin Academy editorial team with AI-assisted drafting. Updated July 2026. Primary sources: the Chainlink Data Feeds documentation, the Chainlink decentralized data model documentation, the Chainlink data-aggregation blog, the Chainlink Data Feeds API reference, and the Chainlink Price Feeds blog, with independent corroboration from Galaxy Research and Investopedia. All facts independently verified against cited documentation current as of July 2026.

This article is educational and general in nature, not financial or investment advice. Cryptocurrencies like LINK carry real risks, including price volatility, smart-contract bugs, and oracle failures under extreme conditions. Nothing here is a recommendation to buy, sell, or hold any asset. Do your own research, and consider speaking with a licensed professional before making financial decisions. BloFin does not provide investment advice.