Blockchains or Smart contracts can't access data from outside of their network and there is often needs to access information from the outside world that is relevant to the contractual agreement. An oracle is a way for a blockchain or smart contract to interact with external data.
With blockchains being deterministic one-way streets, an oracle is the path between off-chain and on-chain events. These oracles are services that send and verify real world occurrences and submit this information to smart contracts, triggering state changes on the blockchain.
Inbound oracles bring off-chain or real-world data to the blockchain, whereas their outbound cousins do the opposite: they inform an entity outside the blockchain of an event that occurred on it.
To integrate your DApp with Oracles on Matic, you can choose to go with one of the following solutions:
Randomness is also generated through oracles. See the Randomness section of the documentation for more information.