{"id":37597,"date":"2022-06-20T17:45:29","date_gmt":"2022-06-20T14:45:29","guid":{"rendered":"https:\/\/forklog.com\/en\/?p=37597"},"modified":"2025-08-29T18:58:44","modified_gmt":"2025-08-29T15:58:44","slug":"what-is-a-blockchain-oracle","status":"publish","type":"post","link":"https:\/\/forklog.com\/en\/what-is-a-blockchain-oracle\/","title":{"rendered":"What is a blockchain oracle?"},"content":{"rendered":"<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">Key points<\/h2>\n<ul class=\"wp-block-list\">\n<li>Blockchain oracles are algorithms that relay data between a smart contract and an off-chain source outside the network where the contract is deployed.<\/li>\n<li>Decentralised applications widely use oracles across DeFi, GameFi, insurance, NFTs and other sectors.<\/li>\n<li>The largest oracle provider is Chainlink. Other players include Band Protocol, Berry Data, Kylin Protocol, DIA and others.<\/li>\n<\/ul>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What problem do blockchain oracles solve?<\/h2>\n<p>Most actions in decentralised applications are executed via smart contracts. To function, they may need diverse data from external sources\u2014for example, to compute an accurate exchange rate between two cryptocurrencies during a swap. <\/p>\n<p>External data\u2014particularly from platforms that aggregate trading and price information across many exchanges\u2014enable the calculation of a \u201cfair\u201d price that closely tracks the market.<\/p>\n<p>Yet a smart contract cannot fetch information beyond the blockchain on which it runs. Oracles bridge this gap, mediating between the contract and the required data source.<\/p>\n<p>Blockchain oracles are algorithms that typically run on nodes of a given blockchain.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What types of blockchain oracles exist?<\/h2>\n<p>Oracles are classified by operating model, data sources and flow direction, and by organisational form. Below are the most common types.<\/p>\n<h3 class=\"wp-block-heading\">Software and hardware<\/h3>\n<p>Software oracles pull data from digital sources\u2014databases, servers and cloud storage\u2014and relay it in real time. Hardware oracles collect data via physical devices: smart sensors, chips, barcode scanners, <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RFID\">RFID tags<\/a> and so on.<\/p>\n<h3 class=\"wp-block-heading\">Inbound and outbound<\/h3>\n<p>Oracles can specialise\u2014either delivering information to contracts or sending it from contracts to external systems. Such specialisation can improve reliability and reduce single points of failure.<\/p>\n<h3 class=\"wp-block-heading\">Centralised and decentralised<\/h3>\n<p>A centralised oracle is run by a single operator, typically for its own application. This model appeared first, but concerns over vulnerabilities have pushed the industry towards decentralised oracle networks. These combine many oracles; a subset of nodes is chosen, and each handles part of a request. Chainlink was the first project to implement decentralised blockchain oracles.<\/p>\n<h3 class=\"wp-block-heading\">Contract-specific<\/h3>\n<p>An expensive, labour-intensive model in which a dedicated oracle serves a single smart contract. If several contracts are deployed, a corresponding number of oracles must be developed.<\/p>\n<h3 class=\"wp-block-heading\">Cross-chain compatible<\/h3>\n<p>Services designed to pass data between different blockchains, solving network incompatibility. They are useful for decentralised applications that perform cross-chain operations, such as converting one crypto-asset into another.<\/p>\n<h3 class=\"wp-block-heading\">Computational<\/h3>\n<p>Specialised oracles whose task is to perform resource-intensive computations that are impractical to execute on-chain owing to technical and cost constraints.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">Where are blockchain oracles used?<\/h2>\n<p>Today, oracles in crypto are used to deliver data streams, notably price feeds. These are tables listing price values by date alongside their sources. Feeds allow smart contracts to obtain cryptocurrency quotes from centralised trading platforms and trade aggregators.<\/p>\n<p>For example, in the Band oracle project, as of June 2022, reference prices are available for <a href=\"https:\/\/data.bandprotocol.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">75 cryptocurrencies<\/a>, each with its own set of sources. The price of Cosmos (ATOM) <a href=\"https:\/\/data.bandprotocol.com\/symbol\/ATOM\" target=\"_blank\" rel=\"noreferrer noopener\">is derived<\/a> by aggregating quotes from CoinGecko, CryptoCompare, CoinMarketCap, Binance, Huobi Pro and Coinbase Pro.<\/p>\n<p>Oracle technology is used in algorithmic stablecoins. One example is <a href=\"https:\/\/www.ampleforth.org\/\">Ampleforth<\/a>. The AMPL stablecoin maintains its peg through a rebasing model. To keep a 1:1 relationship with the dollar, the number of tokens in holders\u2019 wallets changes in proportion to AMPL\u2019s market price.<\/p>\n<p>To do this, Chainlink oracles provide the Ampleforth protocol with aggregated AMPL\/USD data from several aggregators. In addition, oracles also deliver the current US consumer price index from official sources, allowing the protocol to account for dollar inflation during rebasing.<\/p>\n<p>Data sources are not limited to crypto-related applications. Depending on the use case, oracles can be connected to providers of, for example, weather statistics or a country\u2019s consumer price index.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What else can blockchain oracles do?<\/h2>\n<p>Oracles can do more than deliver quotes. Chainlink provides verifiable randomness (VRF) for contracts in applications where a random outcome is important, such as blockchain games.<\/p>\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/forklog.com\/wp-content\/uploads\/Videogames_crypto-min-1024x819.png\" alt=\"What is a blockchain oracle?\" class=\"wp-image-153101\" width=\"768\" height=\"614\" srcset=\"https:\/\/forklog.com\/wp-content\/uploads\/Videogames_crypto-min-1024x819.png 1024w, https:\/\/forklog.com\/wp-content\/uploads\/Videogames_crypto-min-300x240.png 300w, https:\/\/forklog.com\/wp-content\/uploads\/Videogames_crypto-min-768x614.png 768w, https:\/\/forklog.com\/wp-content\/uploads\/Videogames_crypto-min.png 1200w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n<p>The Polychain Monsters project uses VRF to determine loot-box contents, randomise NFT attributes and select winners in airdrops.<\/p>\n<p>Games also use VRF to create engaging and unpredictable gameplay, in particular to randomise character attributes. In <a href=\"https:\/\/chain.link\/case-studies\/aavegotchi\">Aavegotchi<\/a>, a user collects valuable crystals on the game map and takes part in various mini-games with \u201cNFT ghosts\u201d (Aavegotchi). When a participant receives an Aavegotchi at the start of the game, a random level is assigned via VRF.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">Which projects are developing blockchain oracles?<\/h2>\n<p>Chainlink is the acknowledged leader in decentralised oracles. Its ecosystem comprises more than <a href=\"https:\/\/www.chainlinkecosystem.com\/ecosystem\" target=\"_blank\" rel=\"noreferrer noopener\">1300 projects<\/a> across DeFi, NFTs and GameFi. Chainlink has no standalone network: it deploys nodes across various blockchains whose applications it serves. Chainlink oracles run on Solana, Ethereum and EVM-compatible networks including BNB Chain, Arbitrum, Optimism, Polygon, Avalanche and Fantom.<\/p>\n<p>Band Protocol is another notable provider, with roughly 80 integrations. Unlike Chainlink, the project runs on its own BandChain blockchain built with <a href=\"https:\/\/forklog.com\/en\/news\/what-is-cosmos-atom\">Cosmos SDK<\/a>. Band also develops WebAssembly tools that let developers create oracles. BandChain is governed by a network of validators. It works with applications on Celo, Oasis and Cronos. The native coin is BAND.<\/p>\n<p>Other sizeable oracle providers include:<\/p>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/berrydata.co\/#\/home\" target=\"_blank\" rel=\"noreferrer noopener\">Berry Data<\/a> \u2014 an oracle system on BNB Chain. When off-chain data are requested, Berry Data operators compete to submit values to a shared \u201cdata bank\u201d (Berry data bank) available to all applications on BNB Chain. In April 2022 it counted about 170 integrations.<\/li>\n<li><a href=\"https:\/\/www.diadata.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">DIA<\/a> (Decentralised Information Asset) \u2014 a cross-chain, open-source information platform that provides access to verified market data for decentralised applications. The project has a DIA governance token.<\/li>\n<li><a href=\"https:\/\/kylin.network\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kylin Network<\/a> \u2014 a decentralised oracle and data-infrastructure platform for DeFi and Web3 based on the Polkadot Substrate framework.<\/li>\n<\/ul>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">Further reading<\/h2>\n<p><a href=\"https:\/\/forklog.com\/en\/news\/what-is-cosmos-atom\">What is Cosmos?<\/a><\/p>\n<p><a href=\"https:\/\/forklog.com\/en\/news\/what-is-decentralised-finance-defi\">What is decentralised finance (DeFi)?<\/a><\/p>\n<p><a href=\"https:\/\/forklog.com\/en\/news\/what-is-a-dao-decentralised-autonomous-organisation\">What is a DAO?<\/a><\/p>\n<p>What are ERC-20 tokens?<\/p>\n<p><a href=\"https:\/\/forklog.com\/en\/news\/what-is-a-smart-contract\">What is a smart contract?<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>What are blockchain oracles for? What types exist? Which crypto projects beyond Chainlink develop the technology? Explained in cards.<\/p>\n","protected":false},"author":1,"featured_media":37598,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"select":"1","news_style_id":"1","cryptorium_level":"2","_short_excerpt_text":"A primer on blockchain oracles, their types and the main projects behind them.","creation_source":"","_metatest_mainpost_news_update":false,"footnotes":""},"categories":[2113],"tags":[2114,2119,2115,1873,1389,1388],"class_list":["post-37597","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptorium","tag-101-decentralization","tag-101-defi","tag-101-technical-foundations","tag-band-protocol","tag-blockchain-oracles","tag-chainlink-link"],"aioseo_notices":[],"amp_enabled":true,"views":"112","promo_type":"1","layout_type":"1","short_excerpt":"A primer on blockchain oracles, their types and the main projects behind them.","is_update":"","_links":{"self":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37597","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/comments?post=37597"}],"version-history":[{"count":1,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37597\/revisions"}],"predecessor-version":[{"id":37599,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37597\/revisions\/37599"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media\/37598"}],"wp:attachment":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media?parent=37597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/categories?post=37597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/tags?post=37597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}