Programming Languages

Modelling financial products in Marlowe

Marlowe is a domain-specific language (DSL), designed to create the building blocks of financial contracts: payments to and from participants (we call the latter 'deposits'), choices by participants, and real world information. Marlowe contracts can branch based on alternatives and have a finite lifetime, at the end of which any remaining money is returned to the participants. This feature means that money cannot be forever locked in a contract. We have implemented a selection of contracts from the ACTUS standard.

The Marlowe Playground is an environment where you can simulate the action of a Marlowe contract before running it on the blockchain. You can see how the contract evolves as participants interact with it, setting choices and making deposits of currency, for example. The playground allows 'undo' actions, so you can try other paths through the contract. Also, you can perform a 'static analysis' that will tell you whether all payments that your contract mandates will be made in full: if not, it will display an example of how a payment can fail. The playground has resources for authoring contracts in both Marlowe and Haskell, all in a no-code visual environment.

© IOHK 2015 - 2021


Cardano is an open-source project.

Cardano is a software platform ONLY and does not conduct any independent diligence on, or substantive review of, any blockchain asset, digital currency, cryptocurrency or associated funds. You are fully and solely responsible for evaluating your investments, for determining whether you will exchange blockchain assets based on your own judgement, and for all your decisions as to whether to exchange blockchain assets with Cardano. In many cases, blockchain assets you exchange on the basis of your research may not increase in value, and may decrease in value. Similarly, blockchain assets you exchange on the basis of your research may fall or rise in value after your exchange.

Past performance is not indicative of future results. Any investment in blockchain assets involves the risk of loss of part or all of your investment. The value of the blockchain assets you exchange is subject to market and other investment risks