Glossary
Definitions of key terms and concepts used in Algorand smart contract development.
- ABI
- Application Binary Interface - A specification that defines how to encode method calls and decode return values when interacting with smart contracts.
- ARC
- Algorand Request for Comments - Community standards for Algorand development, similar to Ethereum's ERCs.
- ASA
- Algorand Standard Asset - A token created on the Algorand blockchain. Can be fungible (like ERC-20) or non-fungible (like ERC-721).
- Approval Program
- The main smart contract code that executes when the contract is called. Determines whether a transaction is approved.
- AVM
- Algorand Virtual Machine - The execution environment for smart contracts on Algorand. Runs TEAL bytecode.
- Box Storage
- A flexible storage mechanism for smart contracts that allows storing arbitrary-sized data (up to 32KB per box).
- Clear State Program
- A smart contract program that executes when a user opts out of an application. Usually contains minimal logic.
- Global State
- Persistent storage that belongs to the smart contract itself. Limited to 64 key-value pairs.
- Inner Transaction
- A transaction created and submitted by a smart contract during its execution.
- Local State
- Per-user storage associated with a smart contract. Each opted-in user gets their own local state (up to 16 key-value pairs).
- Minimum Balance
- The minimum amount of ALGO an account must hold to exist on the blockchain. Increases with assets, apps, and storage.
- Opcode
- A single instruction in TEAL bytecode. Each opcode has a cost that counts against the execution budget.
- Opcode Budget
- The maximum computational work allowed per transaction (700 opcodes base, pooled across grouped transactions).
- Opt-in
- The process of an account subscribing to a smart contract or asset, enabling local state and transfers.
- Puya
- The Algorand Python compiler that compiles Python code to TEAL bytecode.
- PuyaTS
- Algorand TypeScript - A TypeScript-like language for writing Algorand smart contracts that compiles to TEAL.
- TEAL
- Transaction Execution Approval Language - The low-level assembly language that runs on the AVM.
- Transaction Group
- A set of up to 16 transactions that execute atomically - all succeed or all fail together.
- Voi
- An AVM-compatible blockchain network separate from Algorand. Smart contracts written for Algorand can be deployed to Voi. Currently supports AVM version 10.