Find answers to common questions about Marlowe. If you can’t see what you’re looking for, get in touch.
Yes, Marlowe is available to run on mainnet today. You can do this by installing Marlowe Runtime and connecting it to the mainnet.
Marlowe is also available on pre-production and preview testing environments. You may want to test your Marlowe contracts on pre-production and preview networks before running them on mainnet.
Both the pre-production and preview networks are useful for prototyping and previewing.
The pre-production network is very close to mainnet in terms of its protocol parameters and versions. Use this network for staging and testing your contracts in a real-world environment before deploying to mainnet.
The preview network is more of a development environment. It can be used for early prototyping, experimenting and learning.
We have prepared the following resources to help you get started. If you already are familiar with the Marlowe environment, take a look at the following:
This depends on your level of expertise. However, to make it easier for you to get started, we recommend that you check out demeter.run made by TxPipe. They are deploying Marlowe solutions to simplify the process of getting started.
Marlowe is platform agnostic. While Marlowe has not been developed with mobile devices as a focal point for implementation, individual DApps may or may not be designed and enabled for mobile devices. Some DApps that are based on Marlowe will work on mobile devices, depending on the specific DApp. It depends on how a particular DApp was designed and how it is intended to be used.
Generally speaking, from the point of view of a developer, we recommend working with Marlowe with a desktop or laptop computer on Linux/Ubuntu, Docker on any OS, Nix on any Linux OS, or via a cloud-hosted service such as demeter.run.
To install Marlowe, please see the Marlowe starter kit. It provides guidance on using the demeter.run extension for Marlowe Runtime. It also provides guidance on deploying Marlowe Runtime locally with Docker. The Marlowe starter kit includes detailed documentation and video demonstrations.
Yes, you can use Marlowe without installing anything on your computer. Demeter Run is a zero installation solution for Marlowe. Please see the Marlowe starter kit for more information.
See the contract gallery to access the gallery of Marlowe contracts on Cardano mainnet. The Marlowe team will be adding to the gallery over time as more examples become available.
There are multiple available resources. Please see the documentation here.
Use Discord for broad open-ended questions. Marlowe team members monitor this space. Discord is also a good place to go for feedback if, for example, you are looking for feedback on a good strategy for making an NFT swap.
If you have found a bug, are experiencing an error or have a very specific problem, please reach out to the Marlowe team through this Zendesk form.
If you are seeking community help on a contract you are designing, post it on Stack Exchange.
You may also find valuable discussions on the Cardano Forum for Marlowe.
Please see Contributing to Marlowe in the marlowe-cardano GitHub repo.
Before running a Marlowe contract on mainnet, it is wise to do the following to avoid losing funds:
See also the Essential Cardano FAQ.
Marlowe has been audited by Tweag. The report, ‘Technical review of Marlowe, Final report,’ is dated March 24, 2023. We encourage you to read it and make your own independent conclusions. We have addressed the report’s findings. Tweag will also post the report in due course.
No, once a Marlowe contract has been deployed to the blockchain, it can no longer be modified unless terms of modification were already designed into the contract. Marlowe smart contracts are designed with certain logical conditions built in. This ensures that an acceptable outcome is guaranteed to occur according to the terms of the contract. A properly designed and tested Marlowe contract cannot ‘hang’ indefinitely.
Marlowe and Plutus are both languages for writing smart contracts on the Cardano blockchain. Because Marlowe is easy to use, it is often worth trying to write your smart contract using Marlowe. If you should discover that Marlowe isn’t well suited for it, you may want to look at Plutus or another language. You can transfer what you learned while trying to write it in Marlowe to whatever language you end up using. Plutus is a general-purpose language that can handle any type of logic, and is intended for developers who are familiar with the Haskell functional programming language.
Marlowe, on the other hand, is a domain-specific language that is based on Plutus. The Marlowe language is designed to be accessible by both non-developers and developers. It has many advantages, such as:
The team is currently reassessing the strategy to educate and support Marlowe pioneers. Some pioneers did not complete the program, so the team will be investing in educational courses, programs, and workshops tailored to specific audiences.
To best shape the educational programs to your needs, please send your input to tell us what you think would be most helpful for you.
To hear about more upcoming educational opportunities as they emerge, please monitor Discord announcements and explore IOG Academy resources.
Please submit your FAQ suggestion through the contact form and the Marlowe team will work on addressing it.