Is Canister Application data stored on the IC blockchain or is it just held in memory?

I’m trying to understand how data is persisted on the IC and have a few questions:

  • Is Canister application data (stable var data) written to the blockchain?
  • If it is, can it be retrieved from the blockchain?
  • if not, what is written to the blockchain?


Yes, canister data is written to the blockchain. Raw blocks cannot be retrieved I don’t think (or at least not easily).

Blocks contain all types of “replicated state”, including canister state but also system state like input and output queues. I believe stable memory is part of that system state.

See this whitepaper for details.

1 Like