Oracles work as a bridge between the real world and the blockchain by providing data to the smart contracts. Smart contracts contain value and only unlock that value if certain pre-defined conditions are met. When a particular value is reached, the smart contract changes its state and executes the programmatically predefined algorithms, automatically triggering an event on the blockchain. The primary task of oracles is to provide these values to the smart contract in a secure and trusted manner. Blockchains cannot access data outside their network. An oracle is a data feed, provided by third party service, designed for use in smart contracts on the blockchain. Oracles provide external data and trigger smart contract executions when pre-defined conditions are met. Such conditions could be any data like weather, temperature, successful payment, price fluctuations, etc.