You've probably heard this term recently..
Before we dive into the formal definition of an oracle project, lets provide some examples of which we are talking about.. The most developed and widely know is Chainlink. We've been fans of this project since 2017 and were early investors. Another prevalent one you may have encountered is BAND. Despite different tickers and projects, there isn't much variability to how these platforms actually function.
Lets talk about what problems these different projects can actually solve:
Blockchains typically operate independently of each other. By this, I mean the chains do not interact, exchange, or communicate with each other. Each ledger is separate. Smart contracts allow for on inter-chain interaction, but oracle projects permit intra-chain interaction: between independent blockchains and their corresponding smart contracts.
Oracle projects allow for integration of outside data into the current working processes of the intrinsic blockchain. Weather information? You got it. Price feeds from an online store? You bet! Liquidity information from a different Decentralized exchange to connect two different users with matching supply/demand? Nailed it!
Decentralized exchanges are one of the most advance applications of oracle projects. It allows for interconnected data exchange between two independently operated exchanges.
Here is a visual example to drive the point home: smart contract to API connection..
PS: Notice how CHAINLINK got its name?
Differences between LINK/BAND are slightly complicated and convoluted. Here is a comment I found in Reddit which provides awesome insight: