Live prices are currently unavailable — the exchange feed could not be reached and no recent cached reading is held.

Research · ICP

Cloud Engines

A Cloud Engine is the network's answer to the question of what a full application looks like when it runs entirely on-chain. It is an architecture rather than a single product: a set of canisters that together provide the services a conventional application would get from a cloud provider. Some of it is deployed, and some of it is described as direction.

Last reviewed 2026-09-21Source: Internet Computer — Cloud Engine architecture and Open Cloud documentationDeployed components and roadmap direction are distinguished. Where a capability is described as planned rather than available, that is stated in the text.

What a Cloud Engine is

A conventional application depends on services it does not run itself: a database, a file store, a message queue, a web server, a logging pipeline. On the Internet Computer those services are not provided by a vendor, so an application that wants them must either build them or use canisters that someone else has built. A Cloud Engine is the network's framing of that stack.

The documentation describes the architecture in terms of engines: components that provide a service to other canisters through a defined interface. A storage engine provides durable object storage; a database engine provides queryable structured data; a frontend engine serves web assets. Each is a canister or a set of canisters, and each is addressed like any other canister on the network.

The important property is that the engines are not privileged. They are canisters running on the same network as the applications that use them, subject to the same cycles model and the same upgrade rules. That is what distinguishes the architecture from a platform service: there is no separate control plane that the application cannot inspect or replace.

What is deployed

The asset canister is the clearest deployed example. The documentation describes it as the canister that serves a web frontend: it stores the built assets, serves them over HTTP, and certifies its responses so that a browser can verify them against the network's root key. It supports SPA routing through a configuration file and it does not render on the server, which is a real constraint on what a frontend can do.

The Internet Identity canister is another. It provides authentication as a service to any application that integrates it, and the documentation describes it as a system canister that applications call rather than reimplement. The Internet Identity page covers the flow.

The chain integrations are a third. The Bitcoin canister, the Ethereum integration and the chain-key token minters are services that any canister can use, and the documentation describes them as deployed infrastructure rather than as application code. The Chain Fusion page covers the architecture.

Direction and roadmap

The network's public material describes a broader ambition: a full application stack that a developer can assemble from on-chain components without leaving the network. That includes storage and database services, a compute service for long-running jobs, and a frontend service that goes beyond static assets. Some of these are available in some form; others are described as direction rather than as shipped products.

This page does not enumerate a roadmap, because a roadmap is a statement about intent and it changes. What can be said with confidence is that the architecture is coherent: each engine is a canister, each is addressed through Candid, and each is subject to the network's ordinary rules. A developer evaluating the approach should check the current documentation for which engines exist rather than relying on a description of the plan.

The honest framing is that the network provides a substrate — canisters, consensus, threshold signing, cycles — and the Cloud Engine architecture is a way of composing services on top of it. The substrate is deployed and documented. The composition is partly deployed and partly in progress, and the difference matters to anyone deciding what to build on.

Why the framing matters

The framing matters because it changes what a developer has to reason about. In a conventional stack, the boundary between the application and the platform is a contract with a vendor: the database is managed, the storage is durable, the queue is eventually consistent, and the guarantees are whatever the vendor's documentation says. On the network, the boundary is a canister interface, and the guarantees are the network's.

That is a different kind of responsibility. A developer who uses a storage engine canister is depending on that canister's code and on whoever controls it, and the documentation's guidance about verifying a canister's controllers applies. The canisters page covers the control model.

The upside is composability without permission. A canister can call any other canister whose interface it knows, with no account, no API key and no vendor relationship. That is the property the Cloud Engine architecture is built to exploit, and it is a genuine difference from the cloud model rather than a rebranding of it.

Sources and references

The architecture and the deployed components are described from the Internet Computer's own documentation. Where a capability is described as direction rather than as available, that distinction is preserved in the text above.

  • The asset canister and certified frontend serving. ICP Developer Docs, Frontend hosting: describes the asset canister, response certification and SPA routing configuration.
  • System canisters as shared services. ICP Developer Docs, System canisters: lists the canisters the network provides, including the asset canister, Internet Identity and the chain integrations.
  • Canister control and the trust question. ICP Developer Docs, Canisters and code: explains controllers, upgrades and why a canister's behaviour depends on who controls it.