Programs vs contracts
The SVM account model, and what changes when you come from EVM.
TestnetVerified Oct 15, 2026
The account model#
On Kyvro, programs are stateless: all data lives in accounts owned by programs. A program is executable code at a program ID; everything it reads and writes — user balances, game state, token mints — is a separate account passed into each instruction as signer, writable or read-only.
- System-owned accounts hold KYV and pay fees. Your wallet address is one of these.
- Program-owned accounts hold program state. Only the owning program can change their data.
- Program Derived Addresses (PDAs) are deterministic accounts a program controls without a private key — the standard way to give a program its own storage and signing power.
- Token mints and token accounts are accounts owned by the SPL Token programs (see SPL tokens).
- Every account pays rent by holding a minimum KYV balance.
Coming from EVM#
| EVM | SVM |
|---|---|
| Contract with its own storage | Stateless program + separate data accounts it owns |
| Contract address | Program ID, plus the addresses of its data accounts |
| Deploy once, immutable (usually) | Upgradeable by default while an upgrade authority is set; immutable once renounced |
| Events for indexers | Program logs plus account state; history via signatures and the explorer API |
| Gas metering per opcode | Fixed fee per signature plus optional prioritization fees |
| Etherscan verification | Upgrade-authority transparency on the explorer address page |
No EVM here
Solidity, the EVM, Foundry, Hardhat, ethers and MetaMask-style chain setup do not apply to Kyvro at all. Build with Rust or Anchor and an SVM wallet.Preloaded programs#
These programs were loaded at genesis under BPFLoader2111111111111111111111111111111111 and are immutable:
| Program | Address | Version |
|---|---|---|
| SPL Token | TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA | 3.5.0 |
| SPL Token-2022 | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | 8.0.0 |
| Associated Token Account | ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL | 1.1.1 |
| Memo | MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr | 3.0.0 |
| Memo v1 | Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo | 1.0.0 |
What deploys unchanged#
Kyvro runs unmodified Agave, so existing Solana programs — Anchor or native SBF — deploy as-is. Only four things change versus Solana:
- The RPC URL (
https://rpc-testnet.kyvro.si). - The cluster identity: the genesis hash
A8qzbNkAdT1GsqmyKTifWnTgS7PuqqmniwdsGeaPc5Jo, never a Solana cluster name. - Program IDs, which are fresh deployments with their own upgrade authorities.
- Explorer links, which point at the Kyvro explorer(opens in a new tab).
Next steps
- Quickstart with Anchor — deploy your first program.
- Program upgrades — manage your upgrade authority.
- Solana compatibility — the full what-works list.
Something wrong or missing on this page? Send developer feedback.