Programming Languages


The Plutus Platform is the smart contract platform for Cardano. Plutus contracts consist of parts that run on the blockchain (on-chain code) and parts that run on a user’s machine (off-chain or client code).

Plutus draws from modern language research to provide a safe, full-stack programming environment based on Haskell, the leading functional programming language. Both the on-chain and off-chain code is written in Haskell, and Plutus smart contracts are Haskell programs. Off-chain code is compiled by GHC, the Haskell compiler, and on-chain code is compiled by the Plutus compiler.

To write a smart contract using the Plutus Platform, you can code directly in the Plutus Playground, a lightweight, web-based environment for exploratory Plutus development. Here you learn about how to develop using Plutus, and easily write and simulate deployment of your contracts without the overhead of installing and maintaining a full development environment.

What is a smart contract?

A smart contract is an automated agreement, written in code, that tracks, verifies, and executes the binding transactions of a contract between various parties. The transactions of the contract are automatically executed by the smart contract code when predetermined conditions are met. Smart contracts are self executing and reliable and do not require the actions or presence of third parties. The smart contract code is stored on, and distributed across, a decentralised blockchain network, making it transparent and irreversible.