A service that provides real-world data to smart contracts on the blockchain.
An Oracle is a service that delivers real-world data to smart contracts, enabling blockchains to interact with external information. Because blockchains cannot access off-chain data on their own, oracles act as secure bridges.
What Oracles Provide
Asset prices
Weather or sports data
Randomness (VRF)
Proof of reserves
Cross-chain messaging
Identity or KYC verification
Smart contracts use this data to execute conditional logic.
Types of Oracles
Price Oracles: Provide market feeds (e.g., Chainlink)
Data Oracles: Supply external information (APIs, events)
Cross-Chain Oracles: Relay messages across blockchains
Randomness Oracles: Generate secure random numbers
Hardware Oracles: Connect IoT devices to blockchain
Risks and Challenges
Oracle manipulation (flash loans, low-liquidity feeds)
Centralization risks
Downtime or failures
Dependency on external data providers
Decentralized oracles mitigate many of these risks.
Summary
An oracle provides real-world data to blockchains, enabling smart contracts to respond to external events.