Incentivizing experienced developer teams to build long-lasting fundamental technology for Algorand.
Oracles are an essential element of the technology stack blockchains offer. Moreover, their data is required for a wide variety of decentralized applications. Oracles provide the connection between off-chain, real-world data and the digital world of blockchain platforms.
Oracles are mechanisms that send, receive, and verify real (and digital) world events and submit or make this information available into smart contracts, potentially triggering changes and thus allowing the blockchain to communicate with off-chain entities.
Oracle data allows decentralized applications to offer many new use cases such as NFT cards that use match data, the creation of synthetic assets, and a whole range of DeFi products.
What is Algorand’s SupaGrants Program?
The program targets experienced developer teams and organizations to build secure and high-quality solutions for the Algorand ecosystem. We are primarily interested in teams with previous experience building advanced solutions like AMMs, DEXes, or bridges and want to leverage their knowledge to design an oracle system. In particular, the teams must have the ability to commit to maintaining the oracle long-term and quickly respond to security and non-security issues that may arise.
Algorand seeks to support these projects financially on a long-term basis, aiding them in their marketing, and all other areas that require assistance such as technical support, audits and community events.
Algorand is looking for a maximum of 20 applicants to submit a proposal for oracle technology. From this group, we select five projects to build their proposed solution. We provide a total of $5,000,000 in ALGO tokens to be divided among the competing projects.
The funds will be distributed according to the following terms:
- Contract: $50,000 USD in ALGO tokens upon signing the contract
- Milestone 1: $200,000 USD in ALGO tokens when delivering the solution to the testnet
- Milestone 2: Projects receive additional funding when launching their project on the Algorand mainnet
- Long-term support: Projects receive additional funding to maintain, support, and further develop the project on a long-term basis, with an initial agreement for two years to make sure the oracle network operates securely and reliably.
Furthermore, the two or three strongest projects that have successfully completed their MVP on testnet will be included to accelerate in the Algorand ecosystem. Algorand Foundation doesn’t take any equity in the project.
Type of solution?
Algorand doesn’t set any rigid design limitations on how the oracle solution should look like.
The primary concern is the usability of the oracle system. For instance, we prefer a straightforward solution that doesn’t require developers to buy additional tokens to pay for data requests or set up a node. The system should be as straightforward as possible to access off-chain data. On the other hand, Algorand doesn’t want to limit your imagination and will consider more complex solutions, even though they require node-setups or payment tokens.
The developed solution should be Open Source and meet the below requirements.
One solution from a technical point of view is to have the oracles push data on-chain to the global or local storage of a stateful contract. A stateful contract holds a global state, limited to 64 key-value pairs. You can either update the latest value or keep at least X number of values in the global state. Preferably, we want to keep at least a couple of historical data points in the global state to enable more possible use cases.
This solution enables other applications on the Algorand blockchain to access the oracle data by accessing the global storage of the oracle stateful contract. More advanced oracles may allow other smart contracts to make specific queries or may trigger other smart contracts according to some events. Solutions for such oracles are more complex and may be quite different from the above.
Oracles that just provide data using the first solution highlighted above should refresh the data regularly considering the low transaction cost on Algorand. Also, many financial applications rely on accurate and up-to-date pricing information. A data refresh rate of one to seven blocks is preferable - 4.5s up to 30s based on 4.5s block time.
To start simple, we want to provide pricing data on popular cryptocurrency and forex pairs. Also, we would love to see data points for commodities and equities (stock/index/ETF). Synthetic asset creation is the main goal here.
Compatibility with Current Standardization Processes (ARCs)
We highly recommend the solution to be aware of standardization processes (https://github.com/algorandfoundation/ARCs), in particular regarding ABI (https://github.com/algorandfoundation/ARCs/pull/7). We will require compatibility with those “requests for comments” when they are finalized (or close to being finalized).
Deadline: Friday 5th of November, 2021