glossary·2026-03-08·1 min read

Transition

Transition

A transition is the result of executing a program function on Aleo. It is a single atomic state change: consuming zero or more input records and producing zero or more output records, plus a zero-knowledge proof of correct execution. Earlier Leo versions used the transition keyword for callable entry points; current versions use fn.

Each transition contains the program ID and function name, encrypted input and output records, serial numbers (nullifiers) for consumed records, commitments for new records, and the execution proof. This data gets posted on-chain as part of a transaction. A single transaction can contain multiple transitions if the function calls other programs.

Because the proof attests to correct execution without revealing inputs, the on-chain transition is opaque to external observers. They can see a function was called and that records were consumed and created, but not the values inside those records or the identities of the parties (beyond what is intentionally public). The name "transition" reflects the UTXO-like model: the network's state transitions from one set of valid records to another with each function execution.

Sources