Sol.College

Solana glossary

Core Solana and Anchor terms in plain English. Each links to the official docs and, where there is one, the Sol.College lesson that shows it in real code.

Account
Solana stores all state in accounts: an address, a lamport balance, an owner program and a data buffer. Only the owner program can change an account's data. Docs
Lamport
The smallest unit of SOL. One SOL is 1,000,000,000 lamports. Docs
Rent exemption
Accounts must hold a minimum lamport balance proportional to their size to stay on-chain. Closing an account returns that balance. Docs · Lesson: Anchor account constraints
Program
Executable code deployed to an account. Programs are stateless; they read and write other accounts passed into each instruction. Ethereum calls these smart contracts. Docs
Instruction
A call to one program: the program ID, the list of accounts it touches (with signer and writable flags), and an opaque data payload. Docs · Lesson: Building and sending transactions from a client
Transaction
One or more instructions plus signatures and a recent blockhash. Instructions in a transaction succeed or fail together. Docs · Lesson: Building and sending transactions from a client
Recent blockhash
A hash every transaction includes to prove it is fresh. A transaction whose blockhash is too old is rejected, so clients fetch one just before signing. Docs · Lesson: Building and sending transactions from a client
Signer
An account whose private key signed the transaction. Programs check signer flags to authorise actions. Docs · Lesson: Anchor account constraints
Program Derived Address (PDA)
An address derived from seeds and a program ID that has no private key. Only that program can sign for it, through invoke_signed. Docs · Lesson: Program Derived Addresses (PDAs)
Bump seed
The extra byte added to PDA seeds so the derived address falls off the ed25519 curve. The canonical bump is the first one that works, counting down from 255. Docs · Lesson: Program Derived Addresses (PDAs)
Cross-Program Invocation (CPI)
One program calling an instruction on another, such as the Token Program. A PDA can sign a CPI with its seeds. Docs · Lesson: Cross-Program Invocations (CPIs)
SPL Token
The standard token program for fungible and non-fungible tokens on Solana. Docs · Lesson: SPL Tokens: mints, accounts and transfers
Mint account
The account that defines a token: its supply, decimals and mint authority. Docs · Lesson: SPL Tokens: mints, accounts and transfers
Token account
An account holding a balance of one mint for one owner. Docs · Lesson: SPL Tokens: mints, accounts and transfers
Associated Token Account (ATA)
The canonical token account address for a given wallet and mint, derived deterministically so anyone can find it. Docs · Lesson: SPL Tokens: mints, accounts and transfers
Token-2022
A second token program, also called Token Extensions, that adds optional features such as transfer fees, metadata and transfer hooks. Docs · Lesson: Token-2022 (Token Extensions)
Anchor
A Rust framework for Solana programs that handles serialisation, account validation through constraints, and IDL generation. Docs · Lesson: Anchor account constraints
IDL
Interface Definition Language: a JSON description of a program's instructions and accounts that Anchor generates and clients use to build calls. Docs · Lesson: Building and sending transactions from a client
Account discriminator
The first 8 bytes Anchor writes into each account it creates, identifying the account type so one type can't be passed off as another. Docs · Lesson: Anchor account constraints
Compute units
The measure of work a transaction may do. Each transaction has a compute limit, and clients can request a specific limit. Docs · Lesson: Building and sending transactions from a client
Priority fee
An optional fee per compute unit, set with the Compute Budget program, that helps a transaction get scheduled when blocks are busy. Docs · Lesson: Building and sending transactions from a client
Commitment
How final a read or confirmation is: processed, confirmed or finalized. Docs · Lesson: Building and sending transactions from a client
Devnet
A public Solana cluster for testing. Devnet SOL is free from the faucet and has no value. Docs
Upgrade authority
The key allowed to redeploy a program. Many teams hand it to a multisig, or remove it to make the program immutable. Docs
Metaplex
The set of programs and standards most Solana NFTs use, including Token Metadata, Core and Bubblegum. Docs · Lesson: NFTs with Metaplex
Compressed NFT
An NFT stored as a leaf in a concurrent Merkle tree rather than in its own accounts, which makes large mints cheap. Docs · Lesson: Compressed NFTs and state compression
Solana Pay
A URL standard for payment requests that wallets can scan as QR codes. Docs · Lesson: Solana Pay
Actions are APIs that return a signable transaction; Blinks are links that render an Action as buttons in a supporting client. Docs · Lesson: Blinks and Solana Actions
Address lookup table
An on-chain list of addresses that versioned transactions can reference by index, so they fit more accounts. Docs · Lesson: Building and sending transactions from a client
Sysvar
Special accounts exposing cluster state to programs, such as Clock (time) and Rent. Docs · Lesson: Staking and reward accrual