Glossary
Smart contract glossary: every term explained
Plain-English definitions of 46 smart contract, Solidity, EVM, and Monad terms, from ABI and gas to reentrancy and parallel execution. Each term links to a guide and to the Monsmith IDE where you can see it in practice.
Maintained by Adwait Keshari.
A
- ABI (Application Binary Interface)
- The ABI is the JSON description of a contract's functions, inputs, outputs, and events that wallets and applications use to encode calls and decode results.
- Access control
- Access control is the set of rules deciding which addresses may call which functions, typically enforced with modifiers such as onlyOwner or role-based checks.
B
C
- Checks-effects-interactions
- Checks-effects-interactions is the Solidity pattern of validating inputs first, updating your own state second, and calling external contracts last, which neutralises reentrancy.
- Constructor
- A constructor is the function that runs exactly once, during deployment, to set a contract's initial state such as its owner, name, or supply.
D
- Dependency graph
- A dependency graph is a diagram of which contract functions depend on the same storage, showing which calls must run in sequence and which can run in parallel.
- Deployment
- Deployment is the transaction that publishes a contract's bytecode to the blockchain, creating a new address where the contract lives from then on.
E
- ERC-1155
- ERC-1155 is a multi-token standard where one contract manages many token types, fungible and non-fungible, with batch transfers that save gas.
- ERC-20
- ERC-20 is the standard interface for fungible tokens on EVM chains, defining functions such as transfer, approve, and balanceOf so every wallet and exchange can handle any token the same way.
- ERC-721
- ERC-721 is the standard for non-fungible tokens (NFTs) on EVM chains, where every token has a unique ID and can carry its own metadata.
- Event
- An event is a log entry a contract emits during execution; it is cheap to write, cannot be read by contracts, and is how off-chain applications learn what happened.
- EVM (Ethereum Virtual Machine)
- The EVM is the runtime that executes smart contract bytecode on Ethereum and every EVM-compatible chain, defining opcodes, gas costs, and the rules of state changes.
F
- Fallback and receive functions
- The receive function runs when a contract is sent plain native tokens with no data; the fallback function runs when a call matches no other function.
- Faucet
- A faucet is a service that gives out free testnet tokens so developers can pay for test transactions; Monad's is at faucet.monad.xyz.
- Finality
- Finality is the point after which a transaction is guaranteed to stay in the chain and cannot be reorganised away; on Monad it arrives about 600 milliseconds after submission.
- Function selector
- A function selector is the first four bytes of the keccak-256 hash of a function's signature, used at the start of calldata to tell the contract which function to run.
G
- Gas
- Gas is the unit that measures computational work on an EVM chain; every opcode costs a set amount of gas, and users pay gas multiplied by the gas price to have a transaction executed.
- Gas limit
- The gas limit is the maximum amount of gas a transaction is allowed to consume; if execution needs more, the transaction reverts and the gas is still spent.
- Gas price
- The gas price is the amount of native token a transaction pays per unit of gas, usually quoted in gwei (one billionth of a token).
I
- IDE (integrated development environment)
- An IDE is a single application that combines a code editor, compiler, debugger, and deployment tools; for smart contracts, a browser IDE such as Monsmith or Remix removes local setup entirely.
L
- Layer 1
- A Layer 1 is a base blockchain that reaches consensus and settles transactions on its own, without relying on another chain; Ethereum and Monad are Layer 1s, while rollups are Layer 2s.
M
- Mainnet
- Mainnet is the production blockchain where tokens carry real value and deployed contracts serve real users; Monad mainnet is chain ID 143.
- Modifier
- A modifier is a reusable Solidity construct that wraps a function with pre- or post-conditions, such as checking that the caller is the owner before the body runs.
- MON token
- MON is the native token of the Monad blockchain, used to pay gas fees and secure the network through staking.
- Monad
- Monad is a high-performance, EVM-compatible Layer 1 blockchain that uses optimistic parallel execution and the MonadBFT consensus to reach 300 ms blocks, 600 ms finality, and a 10,000 transactions-per-second design target.
- Monad testnet
- Monad testnet is the public test network for Monad, chain ID 10143, where developers deploy and try contracts with free test MON before going to mainnet.
- MonadBFT
- MonadBFT is Monad's pipelined Byzantine fault tolerant consensus protocol, responsible for ordering blocks quickly and finalising them within about 600 milliseconds.
N
- NFT (non-fungible token)
- An NFT is a blockchain token with a unique identifier that represents ownership of one specific item, digital or physical, rather than an interchangeable unit of value.
O
- Opcode
- An opcode is a single low-level instruction the EVM understands, such as ADD, SLOAD (read storage), SSTORE (write storage), or CALL, each with a defined gas cost.
- OpenZeppelin Contracts
- OpenZeppelin Contracts is the most widely audited open-source library of reusable Solidity components, including ERC-20, ERC-721, Ownable, AccessControl, and ReentrancyGuard.
- Optimistic parallel execution
- Optimistic parallel execution runs transactions concurrently on the assumption they do not conflict, then detects and re-runs any transaction that read state another transaction in the same block changed.
P
- Parallel EVM
- A parallel EVM executes many transactions at the same time on multiple CPU cores instead of one after another, while still producing the same final state as sequential execution.
- Private key
- A private key is the secret number that controls an address; whoever holds it can sign transactions and move its funds, so it must never appear in source code or a browser tab.
R
- Reentrancy
- Reentrancy is a vulnerability where an external call lets an attacker's contract call back into your function before its state updates finish, often draining funds.
- Revert
- A revert is when a transaction fails a check and the EVM undoes every state change it made, while still charging for the gas consumed up to that point.
- RPC endpoint
- An RPC endpoint is the URL a wallet or application uses to talk to a blockchain node, sending JSON-RPC requests such as eth_sendRawTransaction and eth_call.
S
- Smart contract
- A smart contract is a program stored on a blockchain that runs exactly as written whenever someone sends it a transaction, with no company or server in the middle.
- Smart contract audit
- A smart contract audit is a systematic review of contract code for security vulnerabilities, logic errors, and gas inefficiencies before the code is deployed and becomes immutable.
- Solidity
- Solidity is the most widely used programming language for writing smart contracts on Ethereum and other EVM-compatible blockchains, including Monad.
- Static analysis
- Static analysis inspects source code or bytecode without running it, flagging patterns known to be dangerous such as unchecked external calls, integer issues, or missing access control.
- Storage slot
- A storage slot is one of the 2^256 32-byte cells that make up a contract's persistent storage; every state variable and mapping entry lives in a specific slot.
T
- Testnet
- A testnet is a blockchain network that mirrors mainnet behaviour but uses valueless tokens, so developers can deploy and test contracts for free.
- TPS (transactions per second)
- TPS measures how many transactions a blockchain can process per second; Monad is designed for 10,000 TPS, compared with roughly 15 to 30 on Ethereum mainnet.
U
- Upgradeable contract (proxy)
- An upgradeable contract uses a proxy that delegates calls to a separate implementation contract, so the logic can be replaced while the address and storage stay the same.
W
- Wallet
- A wallet is software that holds private keys and signs transactions on the user's behalf; MetaMask, Rabby, and Phantom all work with Monad.