Current Cardano Oracles primarily push fixed data on-chain, limiting their adaptability for diverse contract needs. A more flexible, transparent and composable Oracle solution for Cardano is needed.
This is the total amount allocated to Marlowe 2025: Oracle Protocol, Design and Implementation.
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
The Marlowe Oracle Protocol and easy-to-use toolkit will enable flexible, transparent data provision, and deliver improved oracles to developers and users of all Cardano smart contract languages.
No dependencies
All the code is and will be licensed under permissive “Apache License Version 2.0”.
Marlowe 2025
This is one of a set of proposals that together consolidate the Marlowe infrastructure and improve the developer experience, enhance Marlowe with an innovative oracle protocol, developed in collaboration with leading Cardano oracle providers, and design the successor core language, Marlowe V2, working with the Marlowe developer ecosystem.
Increasing Oracle’s Accessibility on Cardano
The current oracle systems on Cardano operate predominantly on a fixed, push-based model, which limits the ability to meet diverse and less commonly used data needs for smart contracts. Our solution, the Marlowe Oracle Protocol, aims to solve this by shifting towards a pull-based model, where oracles respond dynamically to on-chain data requests, ensuring better adaptability and data coverage for a wider array of contracts.
Our approach is centered around enhancing flexibility, transparency, and simplicity. We want to make the process of using oracles in smart contracts much more accessible to developers, whether they are experienced with Cardano tools or are just getting started with Marlowe, Aiken, or PlutusTx. The protocol will also include user-friendly tools, developed in TypeScript, Rust, and Haskell, to facilitate oracle accessibility for the end users and simplify integrations for developers as well as data providers.
Marlowe Oracle Specification
We want to formalize the “Marlowe Oracle Protocol” and submit it as a detailed Cardano Improvement Proposal (CIP). There are no guarantees that the proposal will be accepted but the process itself will allow us to approach the problem in a systematic manner and to create concise specifications.
Collaborations with Oracle Providers
To ensure the success and adoption of the Marlowe Oracle Protocol we are collaborating with key partners in the Cardano ecosystem:
Marlowe Runtime and TS-SDK Adaptations
We will enhance the Marlowe Runtime to better support the Marlowe Oracle Protocol. This adaptation will include more precise “merkleization splitting” so developers are able to specify division points which preserve semantically meaningful subcontracts from the oracle perspective. This capability will be also exposed in our TypeScript SDK and examples.
Data Providers Toolkit
Ready To Use Oracle Service
We will expand on our oracle CLI application, which is currently a basic request harvester and data provider, transforming it into a fully operational, standalone system service. This minimal but complete implementation will serve as an MVP for the Marlowe Oracle Protocol. The goal is to deliver an out-of-the-box solution that requires minimal configuration, enabling oracle operators to start providing data points using the new emerging standard.
Customizable TypeScript Example and SDK
Additionally we will create standalone TypeScript examples which will demonstrate to the oracle builders how to discover and respond to the data point requests on the chain. These examples should be easy to customize and integrate with existing systems and complementary to the stand alone system service delivered separately.
The Marlowe Oracle Protocol is a key enabler that will significantly lower barriers for both developers and data providers within the Cardano ecosystem. Marlowe already simplifies blockchain technology adoption for new users by providing an intuitive domain-specific language for financial contracts. With the addition of Oracle Protocols, we are expanding this accessibility to a wider range of real-world applications.
Lowering Entry Barriers for Developers
By developing and integrating the Marlowe Oracle Protocol into the Marlowe Runtime, we empower developers to not only create financial contracts but also seamlessly include oracle-based functionalities, which are critical for DeFi and other blockchain-powered use cases. Developers can now:
Lowering Entry Barriers for Data Providers
The Marlowe Oracle Protocol also provides a clear pathway for data providers, such as stake pool operators (SPOs) or other trusted entities, to start contributing to the Cardano ecosystem with minimal overhead. We will deliver a lightweight but fully functional Oracle software component that implements the new protocol. This system is designed for:
DeFi Expansion
The ability to incorporate real-world data into contracts expands Marlowe’s potential use cases in the DeFi space, allowing for more sophisticated financial products and growth of the whole Cardano DeFi ecosystem.
Infrastructure Growth
Oracle services built with our protocol will help establish a foundational layer of real-world data access, which is crucial for many applications. The integration and standardization of Oracles will lead to an increase in robust and reliable infrastructure that dApp developers can depend on.
Experience in Developing Marlowe Technology
We are the core maintainers of Marlowe Lang and Core Team members of the Marlowe Project under IOG.
We believe in the value it provides to the community and to the issues it can solve regarding mainstream adoption.
Development process will be public and open-source
Both the output and the development process will be public and open-source. This approach provides an easy way for the Catalyst team and the Cardano community to evaluate the progress at each step of the process.
Specification and CIP Submission
Validator and Runtime Changes
Oracle Service App Enhancement and TypeScript SDK Example
Aiken Support and Integration Example
Documentation, Integration with Marlowe DApp Starter Kit
Project Close-out Report and Video
Tomasz Rybarczyk, who was an experienced member of the Marlowe team for a number of years, and who is part of the Marlowe continuity team, will be responsible for the main part of the design and Runtime/TS-SDK implementation of the protocol.
Simon Thompson, who is one of the original designers of Marlowe, will lead the project, mentoring and coordinating interactions with the community, taking part in the designing phase
Nicolas Henin (as a consultant/reviewer) was an experienced member of the Marlowe team for a number of years will help desing, evaluate and review the design and implementation.
Milestone 1: Specification and CIP Submission
Days: 7
Milestone 2: Validator and Runtime Changes
Days: 35
Milestone 3: Oracle Service App Enhancement and TypeScript SDK Example
Days: 20
Milestone 4: Aiken Support and Integration Example
Days: 15
Milestone 5: Documentation, Integration with Marlowe DApp Starter Kit
Days: 8
Milestone 6: Project Close-out Report and Video
Days: 5
Total days: 90
Cost per day: ₳1500
Total budget: ₳135 000
Investing in the Marlowe Oracle Protocol and its related tools will significantly lower the barriers for developers to integrate real-world data into smart contracts. By creating a standardized, efficient Oracle solution, we are enabling the Cardano ecosystem to build richer and more varied decentralized applications (dApps). This will not only increase the utility of the Marlowe platform but also attract new developers and data providers who can seamlessly participate in the blockchain economy. The broader use of Oracles will drive the development of sophisticated financial products and DeFi services, directly contributing to the Cardano ecosystem's growth and competitiveness.
Our costings are based on prevailing rates for researchers and developers in Europe, and we are charging the same rate for all contributors. We have a unique combination of skills in the team: one of the designers of the original Marlowe language, plus a team familiar with the systems of the Marlowe Platform, from the Marlowe validator. The team is highly experienced having previously worked as members of the core Marlowe team; there is therefore no time needed for the team to get up to speed: we hit the ground running.