Skip to main content

Get started with smart contracts

The Cardano Developer Portal covers everything that is available on the mainnet. If you've come here to learn about smart contracts, here are some links to get you started.

Get started with Marlowe#

Marlowe is the domain-specific language for financial contracts on Cardano. Take a look at the Marlowe Tutorial if you want to learn Marlowe from the beginning or dive straight into the Marlowe Playground:

Marlowe Playground

Talk to others about Marlowe on the Cardano Forum or if you prefer Telegram there is a dedicated Marlowe Telegram Group.

Get started with Plutus#

Plutus is the smart contract platform of the Cardano blockchain. Take a look at the Plutus Tutorial if you want to learn Plutus from the beginning or dive straight into the Plutus Playground:

Plutus Playground

Follow Chris Moreton's content updates. With a high effort he transcribes the lectures of the Plutus Pioneer Program.

Talk to others about Plutus on the Cardano Forum or if you prefer Telegram we welcome you to the Cardano Developers Telegram Group.

Get started with Haskell#

Haskell is the the programming language for Plutus contracts. If you are looking for the best guide to Haskell and unsure where to start, we recommend you check out the book or website Learn You a Haskell for Great Good by Miran Lipovača.

Learning Haskell is made easy with this illustrated guide, one of the most engaging ways to learn this fascinating programming language.

Another great learning resource is the online course Haskell and Crypto Mongolia 2020 lectured by Andres Löh, co-founder of the Well-Typed consultancy and Dr. Lars Brünjes, Education Director at IOHK. The course is the suggested starting point for Plutus Pioneers at the beginning of the Plutus Pioneer Program. It's a 10-week, 40 hours/week deep dive into Haskell and Cryptocurrencies.

Get started with the Plutus pioneer program#

The Plutus pioneer program was created in order to recruit and train developers in Plutus for the Cardano ecosystem. By entering the program, you will become part of a group with early access to a set of courses that teach you the core principles of how to code in both Haskell and Plutus. It will be highly interactive, with weekly videos, exercises, and Q&A sessions and exclusive access to the creators and key experts in the language.

This course is not for coding beginners. You do not need to be an expert in formal methods, but programming experience and a general aptitude for logical and mathematical thinking are highly advisable. We recommend to get started with Haskell before taking the course.

Prior knowledge of Haskell or functional programming is also recommended, as Plutus is heavily based on Haskell and includes advanced features like Template Haskell, type-level programming, and effect systems.