Stay tuned Star it on GitHub Example app arriving late September – early October
Multicanister Orchestration for IC

Orchestration & DevOps for the Internet Computer

MulticanisterOPS is an infrastructure platform that makes multi-canister systems practical: local & cloud Pocket IC environments, WASM versioning with metadata, automated installs/upgrades, autoscaling, and DAO-approved releases.

Quickstart

pnpm • Node.js • Pocket IC
npm i -g pnpm && pnpm install
export POCKET_IC_BIN=/path/to/pocket-ic && pnpm dev-pocket-ic-core
pnpm dev-icr-cli
Internet Computer Pocket IC SNS / DAO CI/CD WASM Versioning
Control Plane dev-cluster • Pocket IC
registry-factory
canisterId: aaaaa-aaaaa-aaa
healthy
branch: main
tag: latest
commit: latest
hash: 0x…33b
sns_governance
sns_root
icrc1_ledger
Activity
  • • uploaded factory.wasm • sha256 ok • upgrade
  • • created canister sns_governance • install ok
  • • resolved placeholders • init args encoded

What MulticanisterOPS is for

A platform for teams building complex IC apps — from local development to cloud testbeds and DAO-approved mainnet releases.

CI/CD for IC

Build canisters, version WASM (branch/tag/commit), auto-install/upgrade on Pocket IC, and prepare releases.

Unified environments

Identical dev/test/prod via core.json and environment.json — locally and in the cloud.

Scaling

Orchestration via registry-factory: sharding, replication, and routing by service names instead of canisterId.

Off-chain integration

Service discovery connects on-chain canisters and off-chain modules (HTTP outcalls) into one graph.

How it works

  1. Step 1
    Mono-repo

    Canisters + off-chain modules + environment declarations.

  2. Step 2
    Build & version

    ICR CLI builds, computes sha256, attaches branch/tag/commit.

  3. Step 3
    Deploy to Core

    Upload WASM to Core Service → install/upgrade on Pocket IC.

  4. Step 4
    Orchestrate

    registry-factory brings services up, scales, and routes traffic.

Key features

WASM as a Git artifact

Full metadata (branch, tag, commit) and build traceability.

Integrity

sha256 verification ensures what you built is what you deployed.

Declarative init

init_args in dfx.json + canisterId placeholders are resolved automatically.

Consistent environments

Local/cloud Pocket IC testbeds identical across stages.

Autoscaling

Replication & sharding of canisters, smart routing by service names.

DAO approvals

SNS-based governance for updates and parameters.

Tracing

Distributed logs/traces across canisters and off-chain (roadmap).

Core REST API

Upload/list artifacts, automatic upgrades/reinstalls.

Service discovery

Canisters talk by service names — no need to know canisterIds.

Architecture (high-level)

The Control Plane (Core Service + CLI) manages Pocket IC environments and orchestrates canisters via the registry-factory. SNS/DAO approves changes before shipping to mainnet.

MulticanisterOPS Core Service • REST API: upload/list/versions • Pocket IC gateway • sha256, metadata ICR CLI dfx build • didc encode • upload Pocket IC (dev/test clusters) registry-factory service discovery • scaling Application canister A canister B off-chain ledger SNS / DAO

Videos

Presentation slides are also available.

Who is it for

IC product teams

Building multi-canister products with growing audiences and loads.

R&D / prototyping

Spin up testbeds fast, run many versions in parallel, iterate off-mainnet.

Platform teams

Shared CI/CD practices, artifact version standards, unified orchestration.

FAQ

Does this replace dfx?

No. ICR CLI uses dfx for builds and some operations. MulticanisterOPS adds orchestration, versioning, and environment layers around dfx.

Can I run it in the cloud?

Yes. Pocket IC and the Core Service can run on Kubernetes/VMs. We are preparing GitHub Workflows for AWS/GCP.

What about production?

Targeting environment parity: develop/test on Pocket IC, release to mainnet through DAO approval with the same artifacts (sha256 matches).

Ready to simplify multi-canister DevOps?

Spin up a local Pocket IC cluster, connect the ICR CLI, and start versioning and orchestrating canisters like artifacts.