📦 @icp-sdk/canisters

A modular library for interacting with canisters on the Internet Computer.

Internet Computer portal Checks Status GitHub Latest Release)

Introduction

This repository provides an SDK designed to make it easy to interact with Internet Computer canisters when developing frontend applications or Node.js scripts in TypeScript or JavaScript.

✅ Recommended

🧩 Legacy single-entry packages

The following libraries are exposed by the modular subpath-only library above, but remain available and are released in parallel for backward compatibility:

🧰 Utilities

This repo also provides various tools that are used internally by the SDK packages but also prove to be extremely useful when developing projects.

[!NOTE]
@dfinity/utils is a peer dependency of the libraries exposed by @icp-sdk/canisters but is not itself re-exported by this library.

🗃️ Deprecated

While not deprecated on npm, the following library is no longer actively developed:

Installation

Install the recommended modular library from npm:

npm i @icp-sdk/canisters

Or, if you prefer to install individual packages:

npm i @dfinity/utils
npm i @dfinity/ledger-icp
npm i @dfinity/ledger-icrc
npm i @dfinity/nns
npm i @dfinity/sns
npm i @dfinity/cmc
npm i @dfinity/ckbtc

To ensure proper tree-shaking and avoid code duplication, all packages reference @icp-sdk/core and @dfinity/utils as peer dependencies.

Make sure these are installed in your project:

npm i @icp-sdk/core @dfinity/utils

Links

Here are some useful links: