Plutus is the umbrella name for smart contracts on Cardano. At its core is Plutus Core, a small functional language whose untyped form (UPLC) is what nodes execute when they validate a transaction. When people say a DApp "runs on Plutus" they mean its validators are Plutus Core scripts. The runtime has grown through versions, Plutus V1 (Alonzo), V2 (Vasil) and V3 (Chang), and new builtins can also be added within a version, as the van Rossem hard fork did for V3.
Nobody writes Plutus Core by hand. Plinth, formerly called Plutus Tx, is the Haskell-based toolchain maintained by Input Output that compiles a subset of Haskell to Plutus Core. Aiken is the most widely used alternative, a purpose-built language with its own compiler that targets the same runtime. Other languages exist, but every one of them produces Plutus Core, so contracts written in different languages interoperate on-chain.
Execution is metered: each script pays for CPU steps and memory according to the Plutus cost models, which is why the cost model is updated whenever a hard fork adds new builtins.
Sources
Explore next
- Plutus CoreCardano's on-chain smart-contract runtime. Higher-level languages (Plinth, Aiken) compile down to Plutus Core for execution.View term
- Untyped Plutus Core (UPLC)The low-level “machine language” that is executed on-chain by Cardano nodes during transaction validation.View term
- PlinthThe high-level Haskell-embedded language Cardano developers use to write on-chain validators that compile to Plutus Core.View term
- AikenA modern smart contract language for Cardano, designed to be beginner-friendly while producing efficient on-chain code.View term
- ValidatorThe on-chain script that decides whether a transaction may spend a UTXO, mint a token or perform another scripted action. On Cardano, a smart contract is a validator.View term
- Smart ContractSelf-executing code stored on a blockchain that automatically enforces and executes agreement terms when predefined conditions are met.View term
- Plutus Cost ModelsThe protocol parameter that holds the per-operation CPU and memory cost tables Plutus scripts are billed against; updated through ordinary protocol parameter governance actions.View term
- van RossemThe Conway-era hard fork on July 18, 2026 (protocol version 11) that added new Plutus builtins and was the first Cardano upgrade ratified entirely through on-chain governance.View term