Marlowe: industry-scale financial smart contracts for the blockchain
Reimagining peer to peer finance with Marlowe

Marlowe overview

Marlowe is a domain-specific language (DSL) for executing financial contracts in Cardano. DSLs are “computer languages designed to handle specific tasks" for experts in a particular field, without requiring advanced programming skills. Marlowe is a language for DeFi (Decentralized Finance).

It makes it impossible to write bad code, easy to read, write, and understand, and allows you to analyze the behavior of the contract without executing it.

Marlowe Run is a secure, cost-effective, democratized peer-to-peer (direct interaction without the need for intermediaries) solution that allows you to enter into financial agreements with friends and clients.

As part of the Goguen rollout, the build is being completed and users will be able to run DeFi contracts. You can test it in the demo environment beforehand.

What does it do?

IOHK’s blog is written about the recent Gamestop stock. There have been times when trading was restricted because the stock price was not in accordance with the wishes of the exchange. Do investors really have control over their own money then? Marlowe allows peer-to-peer democratized trading.

As for what exactly it can do, “DeFi’s platform supports direct P2P lending, Contracts for Difference (CFDs), and other similar products. For example, if you are a forex trader, it is easy to imagine, you can adjust your margin when you have a profit or loss in your account. They can also customize other similar products (such as crypto assets traded on the blockchain) for customers.

Marlowe’s Strengths

Marlowe itself does not depend on the Cardano blockchain, so it can run on other blockchains. (The link between Marlowe and the Cardano blockchain is via the Cardano interpreter written in Plutus, which allows for modeling financial instruments as smart contracts. The Plutus Platform is Cardano’s smart contract development platform, featuring the Haskell SDK (a kit for developing software) that allows you to write highly reliable applications that interact with the Cardano blockchain). It can be used to create general non-financial (supply chain management, insurance, accounting) DSLs based on Marlowe.

It can be a potential competitor to Ethereum in smart contracts, modeled on financial contracts in the Algorithmic Contract Types Unified Standards (Actus) system. It can be seen as a sample in the Playground.

The Marlowe Playground

In Marlowe, a contract is made up of a small number of components, each of which is connected to the next in a sequence of steps. Together, these contracts can be used to write a variety of different financial contracts.

Contract building is also supported by JavaScript and Haskell, and can be done via Blockly’s visual programming tools, for example in the Marlowe Playground on the web.


Here, the behavior of the contract can be analyzed. Developers can see how the contract behaves by attaching the various blocks that make up the contract model. Also, since Marlowe is based on Haskell, the contract can be described more clearly by using the features of the base programming language.

Marlowe suite

There are Marlowe for developers, Marlowe for end users and Marlowe for enterprise.

Developers can use simulations to design and test smart contracts on Marlowe Play, and can contribute to the Marlowe Library (an open source smart contract template library).

From Marlowe Run, users can access a variety of templates through the Marlowe Library and make financial agreements with friends and clients. No knowledge of blockchain, smart contracts, etc. is required.

For enterprises, goal is to extend DeFi beyond individual users. It includes bespoke customizable features for commercial use cases and a suite of smart contracts for financial contracts.