An introduction to DAMLΒΆ

DAML is a smart contract language designed to build composable applications on an abstract DAML Ledger Model.

In this introduction, you will learn about the structure of a DAML Ledger, and how to write DAML applications that run on any DAML Ledger implementation, by building an asset-holding and -trading application. You will gain an overview over most important language features, how they relate to the DAML Ledger Model and how to use the DAML SDK Tools to write, test, compile, package and ship your application.

This introduction is structured such that each section presents a new self-contained application with more functionality than that from the previous section. You can find the DAML code for each section here or download them using the DAML assistant. For example, to load the sources for section 1 into a folder called 1_Token, run daml new 1_Token --template daml-intro-1.


  • You have installed the DAML SDK

Next: 1 Basic contracts.