over budget
Marlowe 2025
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳500,000
Percentage
Received
0.00%
Solution

logo-marlowe-41b171.png

We will simplify and extend Marlowe to enable oracles and micropayments, optimize execution and provide runtime monetization. The DApp Starter Kit will showcase these and optimize Marlowe onboarding.

Problem

As Marlowe becomes a community project, and as its core maintainers, we will consolidate and extend Marlowe to make it a first choice for Cardano DApp builders.

logo-2025-854d28.jpg

Impact Alignment
Feasibility
Value for Money

Team

3 members

Marlowe 2025

Please describe your proposed solution

Marlowe

Marlowe is a robust, open-source technology that provides a special purpose language describing asset flows on blockchain. As a special purpose, domain-specific language (DSL) it offers a higher-level model of contracts than other Cardnao languages, albeit in a more restricted domain. This means that we can provide safety guarantees, such as no assets being held in a script indefinitely, simply by the design of the language, and others, such as tools to fully analyze for contract faults before running a contract.

Marlowe core technology has been audited, and it supports contracts on mainnet as well as in pre-production; its Runtime enables all the necessary on- and off-chain contract activity, including the tedious work of transaction construction; and the TypeScript SDK supports Marlowe as a component within a complete DApp. It is thus a smart contract technology that is complementary to Aiken, PlutusTx or Scalus, and abstracts away from the complexities of Cardano and provides a local, account-based model like Ethereum.

Changes

Marlowe is transitioning from an IOG-managed solution to a fully open-source, community maintained project. While IOG is providing funding/resources to help manage the transition and maintain its core capabilities in the interim, going forward Marlowe will need to sustain itself independently with community funding.

As its core maintainers, we will continue to support Marlowe, and to consolidate and extend it to make it an option for Cardano DApp builders by providing oracles and micropayments, optimizing execution and supporting monetization of the runtime. For those contracts that can be expressed using Marlowe, its offers a substantially lower barrier to entry for DApp development; on the other hand, it does not have the breadth of coverage of general purpose language like Aiken. The new Marlowe DApp Starter Kit (DSK) will showcase these advances as well as optimizing onboarding onto Marlowe among small and medium-sized businesses, developers, infrastructure providers, and Stake Pool Operators.

Other developments run alongside this bid. We are working with IOG to move the Marlowe repositories to an independent GitHub organization, and to coordinate community activity and interest by means of a Marlowe Special Interest Group, supported by a new, members-based, non-profit organization. For the moment existing Marlowe channels on X and Discord will continue to be the place to interact, but we expect that by the time that this project would begin, the transition process to the new organizational structure would be complete. We also anticipate making further applications for funding from Catalyst and other sources; this is discussed further at the end of this section.

The proposal

Turning back to the bid, the shift to targeting DApp developers and their businesses will allow Marlowe to leverage emerging market opportunities and increase the accessibility of Marlowe's advanced features, making them more relevant to a wider audience. Marlowe can be particularly attractive to businesses that want to use Cardano because it significantly lowers the risk and cost of initial onboarding to the blockchain.

In this proposal, we aim to unlock the latent potential of the Marlowe platform by implementing critical updates to the Marlowe validator and tech stack, making these advanced capabilities accessible and of benefit to a wider audience. These updates will create new business opportunities by transforming the Marlowe Runtime backend, protocols, and contracts into highly competitive products. Our goal is to make these tools not only accessible but also essential for a broad range of users including small and medium businesses, developers, infrastructure providers, and SPOs.

Maintenance

In developing these enhancements to Marlowe and building the DSK we will budget a contingency of 15% of person-hours for maintenance, ensuring that Marlowe services continue to be available and that critical bugs are fixed in a timely way. If that contingency is not needed, then further effort will be devoted to delivering the milestones.

Marlowe DApp Starter Kit

These advances will be delivered through the Marlowe DApp Starter Kit (DSK), that will consolidate the documentation, examples and tutorials into an end-to-end guide to design and implementation, through to deployment and maintenance, of DApps that leverage Marlowe tools and capabilities. The DSK will include comprehensive support materials such as tutorials, readily available software packages, and pre-built binaries to ensure ease of implementation. The initial DSK will be delivered early in the project, and incrementally enhanced with new technologies as these are developed.

Validator Enhancements

We will implement targeted changes to the current validator, designed to significantly reduce the on-chain execution costs for specific contracts and Marlowe idioms. By pinpointing and addressing inefficiencies in the existing execution flow, we aim to optimize a set of key contracts identified for their potential business value. This optimization process will not only improve efficiency but also expand capabilities, including the integration of off-chain micropayment channels into our framework. These changes will be integrated into the whole Marlowe toolchain as well. Each contract selected for enhancement has been chosen for its feasibility to be transformed into, or integrated with, real-world applications. These contracts will be showcased through accompanying DApp prototypes, each thoroughly documented and made accessible through our marlowe-ts-sdk, ensuring that developers can easily utilize and build upon our improvements.

Configurable Runtime Fee Mechanism

To incentivize infrastructure providers and SPOs to adopt and integrate Marlowe into their services, we will introduce a configurable fee mechanism within the Marlowe Runtime. This backend enhancement will support the safe execution of Marlowe contracts via web applications, bolstered by a new Tx validation layer in our TypeScript client library. This layer will ensure secure interactions, even with untrusted backends, facilitating a wider distribution and adoption of Marlowe technology.

Marlowe Oracle Protocol

We will formalize and expand the 'Marlowe Oracle Protocol' with a detailed CIP specification, building on our MVP oracle scanner. This protocol employs a unique on-chain request-response mechanism, offering distinct advantages over traditional feed-based systems by enabling extensive data set coverage. As part of this development, we will coordinate closely with existing oracle providers on the Cardano network to ensure seamless integration. We aim to make this protocol more interoperable with other languages such as Aiken or PlutusTx, allowing scripts to efficiently manage oracle data. This enhancement will not only ensure compatibility with current technologies but also open up numerous new applications on the Cardano blockchain.

Outreach

We plan to enhance community engagement through a series of live and online presentations, leveraging our previous experience from participating in local and international Cardano summits, meetups, and workshops. These outreach efforts are designed not just to educate but also to foster a collaborative environment where users can share feedback and insights, further driving the evolution and refinement of our technology.

Marlowe 2025

This is the first proposal that will launch Marlowe as an independent project. We envisage making further bids to Catalyst and other funding bodies for support in the future, and working on these in discussion with the community through the Special Interest Group, potentially in collaboration with other partners. In particular, we plan to develop a separate conceptual track, Marlowe V2, which will focus on fundamental modifications to the language, and this track will be organized through developing MIPs (Marlowe Improvement Proposals), in collaboration with the wider community.

Please define the positive impact your project will have on the wider Cardano community

Marlowe is an existing project in the Cardano ecosystem, initially conceived as a financial DSL providing a local account-based model like Ethereum, and now has the potential to evolve into a smart contract technology complementary to PlutusTx, Aiken and Scalus. etc.

Marlowe significantly reduces the barriers to entry for new businesses and developers interested in exploring blockchain solutions by simplifying the onboarding process. Our technology not only mitigates the complexities of the UTxO model through a user-friendly yet robust programming language but also drastically lowers costs, reduces risks, and shortens prototyping time for traditional web2 businesses looking to integrate blockchain functionality. The introduction of marlowe-ts-sdk and the Marlowe Runtime, which integrates with familiar REST APIs, makes it straightforward to build end-to-end DApps incorporating Marlowe on- and off-chain together with traditional web frameworks.

This proposal is designed to sustain and enhance that project. To accelerate adoption, we are committed to enriching Marlowe with efficient real-world functionality and innovative features such as off-chain micropayment channels. The technology's success relies on a thriving ecosystem around it; therefore, our improvements in oracle data availability and infrastructure robustness are critical. By simplifying the initial onboarding process to a single npm install command we anticipate a surge in Marlowe's usage.

In doing this it will benefit a range of different stakeholders in different ways.

Stakeholder beneficiaries

Existing users, including the 8 projects funded to a total of 984,3K ₳ in Catalyst round 11, will be able to continue to use Marlowe with the assurance that it will be maintained by members of the original development team. These users will also benefit from the technical outcomes we deliver, for example by adding monetization to their project, and the productivity gained by using more efficient on-chain evaluation and off-chain support from the Runtime. We’re also encouraging all existing Marlowe stakeholders to join the working group, where they can help collaboratively shape its future roadmap.

Marlowe is also an enabler of Cardano infrastructure, and the addition of oracles and micro-payments into the Marlowe product will benefit not only infrastructure providers, who will be able to simplify or extend their offering, but also DApp developers on Cardano will be able use these features of Marlowe within their development solutions.

The Marlowe DApp Starter Kit (DSK) will onboard new users among SMEs and developers to access and adopt Marlowe technologies more quickly and effectively. Barriers to entry across the development cycle from design to implementation and deployment will be lowered by the developer focus of the DSK, and the individual technical additions (micropayments, oracles) will also act as a beacon for potential users in the DeFi space.

Those curious about learning more about Marlowe will find that simplifications in the Marlowe experience, and the end-to-end support for learning provided by the DSK will be able to learn more quickly about Marlowe’s potential applications, as well as streamlining the process of onboarding in general.

Our proposal is designed to foster a positive feedback loop within the Cardano ecosystem, enhancing the symbiotic relationship between Marlowe technology and its infrastructure. The planned enhancements will not only benefit developers and businesses but will also create incentives for infrastructure providers (possibly SPOs) and oracle services to engage more deeply with Cardano. This collaborative growth, supported by the Marlowe Special Interest Group and existing forums, will help forge a vibrant and sustainable ecosystem, positioning Marlowe as a cornerstone of the Cardano economy.

Impact

The impact of our proposal can be measured by the adoption rate of the products we develop. Specifically, we will monitor the following key metrics within the Cardano ecosystem (on mainnet and testnets): the number of active Marlowe contracts, the usage rates of the Marlowe Runtime backend, and the volume of oracle requests and responses. We will also gather data from the Demeter hosted Marlowe environment run by TxPipe and supported by IOG through to the end of 2024. These indicators will help us assess how effectively our solutions are being integrated into real-world applications. We will allow a reasonable time margin to evaluate these metrics fully, recognizing that adoption may increase gradually.

Sharing the impacts

We will support projects currently contributing to Marlowe, and we will also be open to collaboration with other individuals and organizations in the Marlowe ecosystem, informally or formally thorough seeking funding for new projects. In the project itself we will seek to work with community members to test early prototypes and beta versions of tools that we develop.

We plan to enhance community engagement through a series of live and online presentations, leveraging our previous experience from participating in local and international Cardano summits, meetups, and workshops. Online dissemination and interaction will be supported through existing Discord channels and the Marlowe Special Interest Group, and we will participate in any online meetings, such as Cardano360, to which we are invited.

What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

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

What are the key milestones you need to achieve in order to complete your project successfully?

Milestone 1: - Milestone 1: Initial Marlowe DApp Starter Kit (DSK)

  • Rationale: This will leverage and consolidate the existing examples, documentation and tutorial material into a single offering that allows newcomers to the Marlowe ecosystem to be onboarded as easily as possible, removing as many barriers and points of friction as possible. It also acts as a platform through which the technical advances produced in the remainder of the project can be delivered to users and developers in a unified and coherent way.
  • Outputs:
  • Consolidated documentation in marlowe-lang github repositories
  • Removal of the current starter kit
  • A marlowe-lang.org landing page (similar in content to <https://aiken-lang.org/> but applied to Marlowe)
  • Current Marlowe Prototypes (Token Plans,Payouts DApps) moved under marlowe-lang.org
  • Acceptance Criteria
  • Documentation in all the different marlowe-lang repositories will be updated
  • Current Prototypes will be online and under marlowe-lan.org domain
  • Roadmap and backlogs publicly accessible in marlowe-lang Github Organisation can be found in the repos
  • Evidence of Milestone Completion
  • The marlowe-lang repositories and all the outputs will publicly available with a consolidated documentation and an open roadmap &amp; backlogs

Milestone 2: - Milestone 2: Micropayments (through Signed Inputs)

  • Rationale: This capability will equip Marlowe with a powerful feature similar to Lightning Network payment channels, allowing a subset of the contract to be executed or gradually confirmed off-chain. We will showcase this capability through an enhanced bounty contract. In both cases, the partial payments will be performed off-chain, while the final settlement will be conducted on-chain. This approach will significantly reduce the on-chain execution costs of the contracts and make them more competitive and attractive to the end users.
  • Outputs:
  • Validator Changes:
  • Built-in thread token support.
  • Authorization of inputs through direct Input signature.
  • Runtime Changes:
  • Integration of the validator changes.
  • REST endpoint for signing inputs.
  • Acceptance Criteria
  • Partial "payments" (choices which drive deposits) are performed off-chain, and the final settlement is conducted on-chain through a single transaction with a signed input cheque.
  • Evidence of Milestone Completion
  • The example contracts will be available in the marlowe-ts-sdk GitHub repository on the main branch and tested on an updated Runtime version available in the marlowe-cardano repository.
  • Product showcases will be online:
  • Revisited Bounty DApp.

An accompanying chapter will be added to the Marlowe DApp Starter Kit, introducing the feature and describing the prototypes.

Milestone 3: - Milestone 3: Contract Execution Optimization (minimizing the number of Transactions)

  • Rationale: The current Marlowe validator has not been optimized to minimize the number of transactions required during execution. Additionally, the introduction of an extra open role script, allowing for open participation, has introduced further overhead. Surprisingly, an "open swap" currently requires four transactions to complete. Our goal is to optimize the execution of common idioms and patterns at the validator level. We will use the "swap" contract as a showcase, aiming to reduce its execution to just two transactions by the end of this milestone. These optimizations will extend beyond the "swap" contract to enhance efficiency in various scenarios.
  • Outputs:
  • Validator Changes:
  • The Open Role validator will be modified to ignore the Marlowe validator hash and will only check the thread token to avoid circular hash dependencies.
  • The Marlowe validator will include a whitelist of associated validators with open role validator hashes.
  • The Marlowe validator will skip the double satisfaction check for scripts from the whitelist, avoiding an extra INotify transaction.
  • Marlowe validator will allow automatic withdrawal by enabling direct “role payout” to a wallet address when a specific role token is present in the transaction.
  • Runtime Changes:
  • Integration of the validator changes to the execution pipeline.
  • Addition of a flag in the REST API to enable the new automatic withdrawal feature.
  • Acceptance Criteria:
  • A swap between 2 participants (1 known and the other unknown at the contract creation) is executed and completed in 2 transactions.
  • Evidence of Milestone Completion:
  • Release of the updated validators, Marlowe Runtime, and TS SDK that incorporate the new features.
  • A functioning prototype of the Atomic Swap DApp will be made available online on preprod and mainnet networks.
  • An accompanying chapter will be added to the Marlowe DApp Starter Kit, introducing the optimized contract and detailing the underlying features.

Milestone 4: - Milestone 4: Seamless DApp Integration of Deep Contracts (Merkleized Contracts)

  • Rationale :
  • Integrating a Marlowe Contract execution within a DApp should be a matter of managing a state machine in a very simple way where :
  • the contract designer :
  • Name their differents steps
  • Name the different transitions available for each steps
  • The Contract integrators then only focus on their business specific logic and can seamlessly provide a custom UI on top of this abstraction.
  • Currently, Marlowe is missing some higher level abstractions to reach seamlessly that level of experience :
  • Merkleization examples are in an experimental ts-sdk section and are not seamlessly integrated in the runtime lifecycle APIs
  • We are missing Annotations capabilities on Marlowe contracts to tell easily where the current execution of a contract is and what are the transitions available for it.
  • This Milestone is considered as a turning point in Adoption of Marlowe as it will provide an affordable A-Z recipe for the use of the technology.
  • Outputs :
  • State &amp; Transition Annotation Capabilities over a Marlowe Contract
  • Marlowe ts-sdk v1.0.0 :
  • Abstracted use of Merkleized contract via the runtime lifecycle API
  • Prototype Token Plan v2
  • Acceptance Criteria :
  • Prototype Token Plan v2 :
  • The second iteration will allow you to create an infinite number of periods with a reduced number of Transactions as well.
  • It will use marlowe-ts-sdk npm packages v1.0.0.
  • It will use state and transition annotations
  • An accompanying chapter will be added to the Marlowe DApp Starter Kit, introducing the optimized contract and detailing the underlying features.
  • Evidence of Milestone Completion :
  • Prototype Token Plan v2 :
  • The prototype will be deployed online for preprod and mainnet networks.

An accompanying chapter will be added to the Marlowe DApp Starter Kit, introducing the optimized contract and detailing the underlying features.

Milestone 5: - Milestone 5: Marlowe Oracle Protocol Improvements and Specification

  • Rationale: Marlowe implements a simple and powerful approach to Oracle integration which is novel request-response based approach and provides a flexible and safe API for fee payment for the Oracle services. This approach has a lot of advantages (simplicity, flexibility, possible parallelization) and can be reused broadly across the ecosystem. We will expose the simplicity and the power of this protocol to the wider audience (we already contacted a few oracle providers) and we will provide a more formal CIP specification for it. We will also provide a bit more realistic Oracle implementation for verifiable random numbers and a Marlowe DApp example of how to use this particular oracle. We would also like to facilitate usage of this protocol from other scripts/languages so we introduce a way to collect back the Oracle data from the request.
  • Outputs:
  • Validator changes:
  • Introduce a script which will guard output Marlowe state after the contract finalization. It will lock the Oracle data (Marlowe choices) and thread token. The results can be consumed only by a predefined NFT holder (in the future we can extend this to inline datum publishing).
  • Introduce ability to output part of the state (choices) to the Marlowe validator.
  • Runtime changes:
  • Add support for the new state guarding script.
  • Integrate the validator changes and expose an option on the REST API to enable the state output.
  • Protocol spec:
  • Submit CIP proposal for Marlowe Oracle Protocol.
  • Transform our MVP to an oracle prototype for verifiable random numbers (based on Cardano VRF or bitcoin block nonce).
  • Implement a betting DApp example which uses the random number oracle.
  • Acceptance Criteria:
  • Marlowe random number oracle can be used by scripts on both testnets.
  • Marlowe Oracle requests can be spawned and results can be collected from other scripts.
  • Evidence of Milestone Completion:
  • Verifiable random number oracle is present on the chain (it will be part of our maintained infrastructure).
  • Marlowe Oracle Protocol CIP is submitted.
  • Betting DApp is available and uses the verifiable random number oracle.
  • The documentation for the example contract and the protocol is available in the Marlowe DApp Start Kit.

Final Milestone: - Milestone 6: Runtime Monetization and Project Close-out

  • Rationale: We aim to streamline the adoption of our technology by simplifying its use in a serverless environment, making it readily accessible right out of the box. This enhancement is expected to foster a competitive market among providers, which will benefit Marlowe DApps by reducing infrastructure fees and enhancing the quality and reliability of services. Our ultimate goal is to incentivize and facilitate the deployment of publicly facing Runtime instances that can be utilized by production DApps without any need for additional setup or registration, thereby lowering barriers to entry and accelerating adoption.
  • Outputs:
  • A Marlowe Runtime Provider Starter Kit (RPK)
  • Runtime changes:
  • Fees Mechanism for Runtime Instances
  • Ts-sdk changes:
  • Runtime Trustless execution (minting policies and Tx Verification)
  • **Completion report and video.**We will produce the completion report and the video illustrating the solution and share them publicly.
  • Acceptance Criteria:
  • Runtime will add a fee where the amount and the output address will come from the runtime fee configuration.
  • The report can be found with the link provided to the reviewers
  • The video guide is published on YouTube or X
  • Evidence of Milestone Completion:
  • We will deliver deployments that demonstrate this mechanism
  • An accompanying chapter will be added to the Marlowe Runtime Provider Starter Kit.
  • The links to the outputs will be shared with the public.

Who is in the project team and what are their roles?

Professor Simon Thompson, who is one of the inventors of Marlowe, will coordinate the project, and will act as an “internal customer” for the technologies developed, giving guidance on their functionality and interfaces, as well as acting as writer/presenter of materials within the DSK (Marlowe DApp Starter Kit).

Tomasz Rybarczyk and Nicolas Henin, who have jointly worked on the Marlowe team for four years, will act as Full Stack Engineers and will develop the proposal feature set. The work content has been carefully structured and estimated for two full time engineers proficient in Marlowe technology.

The Marlowe Special Interest Groups will challenge and openly discuss Proposal Implementation details and we’ll eventually include new contributors in the marlowe-lang github organization.

Please provide a cost breakdown of the proposed work and resources

Budget-7977c5.jpg

Milestone 1: Initial Marlowe DApp Starter Kit (DSK); end month 1, 40k ADA

Milestone 2: Signed Inputs, end month 3, 80k ADA

Milestone 3: Contract execution optimisation, end month 6, 120k ADA

Milestone 4: Seamless DApp Integration of Deep Contracts, end month 9, 100k ADA

Milestone 5: Open Marlowe Oracle Protocol, end month 10, 80k ADA

Milestone 6: Runtime Monetisation and Close out, end month 12, 80k ADA

The costs presented here include 10% for essential maintenance of the code base and interaction with the community, as well as 10% for project management, documentation and and dissemination.

IOG has resolved that, reflecting on Marlowe’s growing community momentum, that the Marlowe project should transition towards a community-maintained stewardship model. This means that Marlowe development will no longer be supported by IOG, as of the end of April 2024. IOG is supporting the transition by providing a modest amount of funding and support “in kind” to cover essential upgrades and migrations for the remainder of 2024. This funding will also support TxPipe hosting Marlowe infrastructure in Demeter for the remainder of the year.

The Marlowe Transition Team consists of Nicolas Henin, Tomasz Rybarczyk and Simon Thompson, all of whom are experienced Marlowe team members. The Transition Team members are currently employed by IOG, but Simon will be leaving IOG at the end of June and, the other members intend to leave IOG to work full time on the project if a Catalyst Fund application to Fund 12 is successful. This catalyst application is therefore coming from an independent team rather than IOG itself.

The Transition Team and IOG are working together to develop and deliver the stewardship model for Cardano, and to have this delivered in time for the Transition Team project, if it is funded, to fall under the new governance model. This model includes

  • Transferring the repositories and intellectual property in Marlowe to an independent vehicle, a not-for-profit members-based organization, that will allow us to ensure community representation and stewardship.
  • Setting up an independent Marlowe Special Interest Group, to act as a focus for developers, users and other stakeholders in the Marlowe language and its ecosystem. Initially, the group will meet in the marlowe-sig Discord channel that will be active by the end of Monday May 13. Discussions will move to the independent MBO once this is established.

It is expected to have these arrangements in place by the end of July 2024, before any potential Catalyst funding would come on stream.

We had hoped to have these structures in place before making the Catalyst application, but this turned out not to be possible. Rather than jeopardize the Catalyst funding application we decided to go ahead in this way, with some of the formal details still to be finalized.

How does the cost of the project represent value for money for the Cardano ecosystem?

Marlowe is a key technology for Cardano; this proposal maintains its current capabilities for the community, and supports the projects that depend on it. This provides value for all the projects that depend on the continued availability of Marlowe on Cardano, through bug fixes, Plutus upgrades and Hard Forks.

Our costings are based on prevailing rates for developers in Europe, and we are charging the same rate for all contributors. We have the right combination of skills available through a combination of full- and part-time contributions. The team proposed 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.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00