Orthogonal Persistence
Actor state automatically persists across committed update calls, and stable
Stable Variables
Stable variables persist across canister upgrades. In persistent actor, fields are stable by default; use transient var for ephemeral data that should reset on upgrade.
Upgrade Compatibility
When upgrading an actor, the runtime checks that stable variable types are compatible between versions. This prevents data loss and forces intentional migrations for breaking schema changes.


