Skip to content

Candid Interface

TODO: Write content for this page.

Define Candid interfaces for canister-to-canister and frontend-to-canister communication. Cover Candid type system, service definitions, type mapping between Rust/Motoko/JavaScript, candid type generation from Rust code, and creating actors from JS. Explain subtyping rules for safe upgrades.

  • Portal: building-apps/developing-canisters/ (Candid sections), developer-tools/cdks/rust/generating-candid.mdx
  • Examples: candid_type_generation (Rust)
  • JS SDK: @icp-sdk/core (https://js.icp.build/core) — actor creation
  • guides/canister-calls/onchain-calls — using Candid in canister-to-canister calls
  • guides/canister-calls/offchain-calls — using Candid in frontend/agent calls
  • guides/canister-calls/binding-generation — auto-generating bindings
  • reference/candid-spec — full specification