Skip to content
KYVROTestnet
Documentation menu

Programs vs contracts

The SVM account model, and what changes when you come from EVM.

TestnetVerified Oct 15, 2026
On this page

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 concepts and their SVM equivalents
EVMSVM
Contract with its own storageStateless program + separate data accounts it owns
Contract addressProgram 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 indexersProgram logs plus account state; history via signatures and the explorer API
Gas metering per opcodeFixed fee per signature plus optional prioritization fees
Etherscan verificationUpgrade-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:

Genesis-preloaded programs
ProgramAddressVersion
SPL TokenTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA3.5.0
SPL Token-2022TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb8.0.0
Associated Token AccountATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL1.1.1
MemoMemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr3.0.0
Memo v1Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo1.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

Something wrong or missing on this page? Send developer feedback.