What is a blockchain oracle for smart contracts? And why is it needed? I've seen a lot of posts about "how do oracles work", and "what is the oracle problem" but I don't understand what they are?


A blockchain oracle is any device or entity that connects a deterministic blockchain with off-chain data.

Smart contracts cannot make API calls themselves because they are deterministic, but without being able to interact with data the lives off-chain, they won't be able to utilize the decentrality, security, and reliability a smart contract has. To get data (that powers all our current modern world, ie any API that runs your applications) onto the chain, we have to have an off-chain entity create a transaction on-chain with the data posted.

This process of posting data from the real world onto a blockchain is what oracles do.

There are a number of ways to do this. An example of an oracle would be a Chainlink node, where you can request any API call through the blockchain, and have it post the data on-chain.


You should check out QED, the Oracle to rule them all. QED is a decentralised Oracle protocol with a robust economic model connecting multiple blockchains, smart contract platforms and off-chain data sources. For more information check out https://qed.network

New contributor
user82325 is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.