{
  "name": "cloud-engine-canisters",
  "title": "Cloud Engine Canisters",
  "category": "CloudEngine",
  "description": "Rules for canister code on a cloud engine (CloudEngine subnet, e.g. OpenCloud). Engine canisters hold 0 cycles: never attach cycles you computed: drop `(with cycles = …)` clauses (failure: IC0504). Cross-subnet calls must be bounded-wait and cycle-free (`(with timeout = N)`, `Call::bounded_wait`) or rejected: 'Unbounded-wait calls and calls with cycles are not allowed to CloudEngine subnets'. HTTPS outcalls use the ordinary wrapper and are free; never via the proxy: no transform applies ('Replicas had different responses') and its budget drains into InsufficientCycles: move the outcall, don't top up. Cycle-bearing cross-subnet calls go through the engine's proxy canister: XRC, threshold ECDSA/Schnorr, vetKD (Bitcoin, Ethereum, VetKeys); hand-encode the arguments; ic-vetkeys and ic-cdk chain-key helpers attach cycles. Derived keys belong to the proxy. Use when writing or debugging engine canister code, signing or deriving keys, or on these errors. Do NOT use for deploying a proxy (deploy-to-cloud-engine).",
  "license": "Apache-2.0",
  "compatibility": "A cloud engine (CloudEngine subnet) to run on, plus a deployed proxy canister for any chain-key or XRC call; Motoko examples need moc >= 0.14.2 (parenthetical `(with cycles = …)` / `(with timeout = N)` call attributes) and `to_candid` / `from_candid`, Rust examples need ic-cdk >= 0.18 (bounded-wait `Call` API); Rust outcalls use whichever wrapper the crate line provides (`ic-cdk-management-canister` 0.2 needs ic-cdk >= 0.20.3; `ic_cdk::management_canister` only up to 0.19)",
  "updated": "2026-09-21T16:54:49.000Z",
  "urls": {
    "html": "https://skills.internetcomputer.org/skills/cloud-engine-canisters/",
    "markdown": "https://skills.internetcomputer.org/.well-known/skills/cloud-engine-canisters/SKILL.md",
    "json": "https://skills.internetcomputer.org/api/skills/cloud-engine-canisters.json",
    "source": "https://github.com/dfinity/icskills/blob/0c9994b95b3d9ef9be1e77f7e06847867a3816b9/skills/cloud-engine-canisters/SKILL.md"
  },
  "publisher": {
    "name": "DFINITY Foundation",
    "url": "https://dfinity.org"
  },
  "canonicalRepo": {
    "name": "dfinity/icskills",
    "url": "https://github.com/dfinity/icskills"
  }
}
