What is the process of building a smart contract in Marlowe from start to deployment and first main net transaction? I know that there's blockly and Marlowe playground. But I can't figure out the step-by-step algo of doing it from the docs.

Here's what I want to build: Bob deposits 100 iUSD Ann deposits 10 iUSD, if event "1" happens Ann gets 105 iUSD, Tom gets 5 iUSD else if event "2" happens Bob gets 100 iUSD, Tom gets 10 iUSD.

Events will be triggered in the frontend.

Thanks for help!

1 Answer 1


Guidance on building a Marlowe contract and running it on mainnet is split into two pieces because Marlowe is a blockchain-agnostic language but it is also implemented on Cardano. Playground lets one simulate Marlowe contracts in the abstract while Runtime lets one execute them concretely on the Cardano blockchain.

  1. The Concepts tutorials teach the Marlowe language and walk through examples.
  2. The Guides exemplify using the Marlowe Starter Kit, which is freely available on https://demeter.run/ for use without installing any software.

Regarding your specific example, the sixth lesson of the starter kit shows how to build a simple front end for a Marlowe contract.

  • I feel more comfortable using VS code on my PC than demeter.run I hope that doesn't break anything. I would be running smart contracts from frontend later anyway. A very high level question correct me if I'm wrong. Smart-contract building algo looks something like this: 1. Build SC in Blockly. 2. Test SC in Runtime. 3. Import it into the App bundle 4. Production build 5. Deploy optimized bundle to prod server.
    – Dmitry
    Commented Aug 2, 2023 at 11:44
  • Demeter Run provides convenience, but the starter kit and other examples should work fine if one is using a local Marlowe Runtime or some other service provider.
    – B W Bush
    Commented Aug 3, 2023 at 15:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.