Oracles
DEP supports several oracle providers to enable smart contracts to access off-chain data and interact with the real world (e.g. price feeds or randomness). These oracles serve as a bridge between the decentralized, trustless environment of blockchain and the centralized, traditional internet.
An oracle is a piece of software that retrieves data from external sources and feeds it into smart contracts on the blockchain. This enables smart contracts to respond to real-world events, trigger automated actions, and execute their intended functions.
List of Oracles
Mainnet
Service | Description | Links & Features |
---|---|---|
Pyth | Leverages over 70 first-party publishers to publish financial market data to numerous blockchains. They provide data feeds to various assets classes, such as US equities, commodities, and cryptocurrencies. |
|
Adrastia | Provides a decentralized and permissionless oracle network that is secure, reliable, and easy to use. It uses three types of contracts to provide secure data feeds: Accumulators, Intermediate oracles & Aggregator oracles |
|
DIA | Enables the sourcing, validation and sharing of transparent and verified data feeds for traditional and digital financial applications. DIA’s institutional-grade data feeds cover asset prices, metaverse data, lending rates and more. Data is directly sourced from a broad array of on-chain and off-chain sources at individual trade-level |
|
Redstone | Offers a radically different design of Oracles catering for the needs of modern Defi protocols |
|
SEDA Network | A multi-chain-native data transmission protocol built on an entirely decentralized foundation. The SEDA network is a Proof-of-Stake on-chain data provision solution that allows anyone to provide and access high-quality data on all blockchain networks |
How do Oracles work?
+------------+ +------------+ +-------------+
| External | | Oracle | | Smart |
| Data Source| | Service | | Contract |
+------------+ +------------+ +-------------+
| | |
| API Call | |
|---------------------> | |
| | Retrieve External |
| | Data via API Call |
| |---------------------->|
| | |
| | Use External Data |
| | in Smart Contract |
| |<----------------------|
| | |
| | Return Result to |
| | Smart Contract |
| |<----------------------|
| | |
In this diagram:
- External Data Source refers to a source of data outside the blockchain network, such as a stock market, weather service, or other external API.
- Oracle Service is a third-party service that acts as a bridge between the external data source and the smart contract. It retrieves the data from the external source and provides it to the smart contract.
- Smart Contract is a self-executing contract that is deployed on the blockchain network. It uses the data provided by the oracle to perform certain actions, such as releasing funds or triggering events.
- API Call refers to the request made by the smart contract to the oracle service, asking for the required external data.
- Retrieve External Data refers to the process of retrieving the requested data from the external data source via the API call.
- Use External Data refers to the process of using the retrieved data in the smart contract to perform actions, such as condition checking and state changes.
- Return Result refers to the process of returning the result of the action performed in the smart contract back to the oracle.