Skip to main content

Plinth User Guide

Welcome to the Plinth user guide. This guide covers Plinth (formerly Plutus Tx), a subset of Haskell tailored for implementing smart contracts on Cardano, and its compilation target, Plutus Core, a low level lambda calculus based language for on-chain execution.

As a subset of Haskell, Plinth is high level and purely functional, and leverages Haskell's powerful type system. This empowers developers to write secure, reliable and deterministic code, which is essential for smart contract development.

Plinth is used to write on-chain code, often called scripts or validators. To fully develop and deploy smart contracts, off-chain code is also needed for tasks such as building and submitting transactions, querying available UTXOs, and more. A detailed discussion of off-chain code is beyond the scope of this guide.

While not all subjects are not covered in depth, you can find links to specifications and papers for further reading in the Further Resources section. Visit the Glossary page for brief descriptions of these concepts.