Marlowe Runtime

Marlowe Runtime

This page provides instructions on how to interact with the Marlowe Runtime service offered by Demeter.

About Marlowe

Marlowe offers a unique domain-specific language (DSL) that abstracts away the complexities of blockchain programming, making it accessible to both developers and business professionals alike. It simplifies the process of writing complex, secure, and verifiable smart contracts tailored for financial applications. You can learn more about Marlowe on their documentation (opens in a new tab).

Demeter implementation

Each Demeter cluster provides highly-available, multi-tenant instances of Marlowe. Requests to these instances are load balanced. Demeter Marlowe Runtime will consume DCUs from your project's wallet proportional to the amount of the requests. If no requests are executed, Demeter will not charge anything.

Enabling Access

To enable access in your project, you need to add a Marlowe Runtime resource:

  1. Login to Demeter.run (opens in a new tab)
  2. Select your project (opens in a new tab)
  3. From your project's dashboard, click "ADD APIS & SERVICES"
  4. Find the resource "Marlowe Runtime" card on the "RPCs" section, and click on "Start for free" button.
  5. Choose the netork to connect to and press Enable.

Getting started

Demeter provides access points from inside and outside the Workspace cluster.

  • HTTP Endpoint URL: The HTTP endpoint where the Marlowe Runtime Webserver instance is running (eg: marlowe-m1.demeter.run).

  • API Key: The key for authenticating, will need to be set on the header dmtr-api-key header.

  • HTTP Authenticated Endpoint URL: The publicly accessible hostname of the Marlowe Runtime Webserver instance, but with the key set on the hostname without necessary to set it on the header, for use in frameworks that do not support setting custom headers. (eg: KEY.blockfrost-m1.demeter.run).