Skip to main content



Welcome to the Candid documentation for developers.

This Candid documentation explains what Candid is and how you can use it when developing dapps to run on ICP. The information here is intended primarily for backend and frontend developers who want to deploy canisters on ICP. If you want to implement support for a new language or extend existing Candid features, you should refer to the formal Candid specification for background information and details about the internal structure of the language.

  • The Candid concepts section introduces the purpose and key features of the Candid interface description language. It includes an overview of how Candid works and some simple examples to give you a working knowledge of how you can apply Candid to your use case.

  • The using Candid section explains how to perform typical tasks.

  • The reference section provides links to Candid tools and libraries and detailed reference information about Candid-supported types.