WhatIsCrypto.info
BTC—ETH—BTC MAX SUPPLY21,000,000BTC MINED20,000,000+BLOCK REWARD3.125 BTCNEXT HALVING~2028BTC BLOCK TIME~10 MINETH BLOCK TIME12 SECETH TRANSFER21,000 GAS1 BTC100,000,000 SATS1 ETH1,000,000,000 GWEISTABLECOIN TARGET$1.00US CRYPTO FRAUD LOSSES 2025$11.4BCOINS ON COINGECKO~22,800FIRST BLOCKJAN 3 2009

Oracles: getting real-world data onto a blockchain

A smart contract can't check the price of ETH by itself. Something has to tell it, and that something can be attacked.

IntermediateAbout 7 minutesReviewed November 4, 2026
The short answer

An oracle is a service that brings outside information, like the price of ETH or a sports score, onto a blockchain so smart contracts can use it. Blockchains can't fetch that data themselves, and whoever supplies it gains power over every contract that relies on it: that's the oracle problem. Chainlink addresses it by combining reports from many independent nodes and data sources; manipulation is still possible when the underlying market is thin.

The oracle problem

Every node must reach the same result when it replays a transaction. If a contract could ask a website for the price of ETH, different nodes would get different answers at different moments, and consensus would break. So blockchains only know what's written on them. A smart contract that needs a price, an interest rate or a weather report has to read it from data someone else wrote on chain: an oracle.

That creates a weak spot. A lending app may be perfectly coded, but if its price feed says ETH is worth $1, it will liquidate everyone. The blockchain records the bad price faithfully; it has no way to know it's false (see what blockchains can and can't do).

How a decentralized oracle network delivers a priceSeveral data sources feed several independent oracle nodes. Their reports are combined, for example by taking the median, and the result is written on chain where a smart contract reads it.Exchange 1Exchange 2Data firmOracle node 1Oracle node 2Oracle node 3Aggregatemedian ofthe reportsSmartcontract readsthe price
A decentralized oracle network: many independent nodes fetch from many sources, and the reports are combined (often by median) so one bad source or node can't set the price alone. It still can't fix a market that is itself thin and easy to push around.

Chainlink runs decentralized oracle networks. For a price feed such as ETH/USD:

  • Many independent node operators each fetch the price from several professional data aggregators.
  • Their reports are combined on or off chain, typically taking the median, so one wrong or dishonest report can't move the result.
  • The feed updates when the price moves more than a set percentage (the deviation threshold) or when a set time passes (the heartbeat), whichever comes first.
  • Contracts such as lending apps read the latest answer and its timestamp.

Node operators are paid for this work; Chainlink's token, LINK, is used for those payments and for staking. Other designs exist: some oracles have exchanges and trading firms publish prices directly, and some contracts compute a time-weighted average price (TWAP) from an on-chain exchange instead.

How oracles get manipulated

  • Reading a single exchange's spot price. In February 2020, attackers used flash loans (huge loans repaid in the same transaction) to move prices on a decentralized exchange that the bZx lending protocol used as its oracle, and borrowed against the distorted price.
  • Thin markets. In October 2022, a trader drained over $100 million from Mango Markets by pushing up the price of Mango's own MNGO token, whose thin trading the oracle reflected, then borrowing against the inflated collateral. The oracle reported the market accurately; the market itself had been moved.
  • Stale data. If a contract doesn't check when a price was last updated, it may act on an old value during a crash.

Example: a liquidation that depends on an oracle

You borrow $1,000 of stablecoins on a lending app against 1 ETH. The app reads ETH's price from an oracle every time someone interacts with your loan. If the oracle reports ETH low enough that your collateral falls below the required ratio, a bot can liquidate you, whether the drop was real or the result of manipulation. Your risk includes the app's code, the oracle and the markets the oracle watches.

Limitations

  • Decentralized oracles reduce the risk of one bad source but can't fix a market that is genuinely thin or manipulated.
  • Oracle networks have operators and admin controls of their own; you're trusting their setup.
  • Non-price data (election results, insurance claims, deliveries) is often harder to verify than prices and may rely on fewer sources.
  • Defenses such as time-weighted averages, multiple feeds and circuit breakers help, but each adds delays or new edge cases.

Frequently asked questions

What is a blockchain oracle?

A service that writes outside information, such as asset prices, onto a blockchain so smart contracts can use it.

Why can't a smart contract just check a website?

Every node must get the same result when it runs a transaction. Websites change and can't be checked by everyone the same way, so external data has to be written on chain first.

Is Chainlink the only oracle?

No. It's the most widely used for price feeds, but there are others, and some apps compute prices from on-chain exchanges themselves.

What is oracle manipulation?

Tricking or exploiting an oracle so it reports a wrong or distorted value, often by moving the price on a thin market the oracle watches, then profiting from contracts that rely on it.

Do I need LINK to use DeFi?

No. Apps pay for oracle services; ordinary users never need LINK to use an app that relies on Chainlink.

Where to next

Sources

  1. Oracles (ethereum.org)
  2. Chainlink Data Feeds (Chainlink docs)
  3. Chainlink 2.0 whitepaper
  4. Hacker steals over $100 million from Mango Markets (The Block, October 2022)

Written for beginners and checked against the sources listed. Last reviewed November 4, 2026. This page is educational and is not financial, tax or legal advice. How we write and check pages.