Glossary definition
Solana program
A Solana program is executable onchain code, usually written in Rust and compiled to sBPF, that processes instructions using explicitly supplied accounts.
Smart contracts on the Solana blockchain are called programs. They are usually written in Rust, compiled to Solana Bytecode Format (sBPF), and executed by Solana’s virtual machine.
Solana programs are stateless in the sense that they contain logic while mutable application data is stored in separate accounts. Executable program data can still be upgradeable when an upgrade authority is configured. The difference from an Ethereum smart contract is therefore where state is stored: EVM contracts combine code with contract storage, while Solana programs receive the accounts they may read or change with each instruction.