A new addition to the ICP JS SDK toolkit is making life easier for developers working with the Internet Computer. DFINITY has released the @icp-sdk/bindgen package, designed to generate modern TypeScript bindings for Candid canister interfaces, offering a cleaner and more developer-friendly way to work with canisters.
Released as version 0.1, the package is still in early development, meaning updates could bring breaking changes before it reaches version 1.0. Developers are encouraged to keep an eye on the changelog as the package moves toward a stable release.
The tool offers three different ways to generate bindings: a command-line interface, a Vite plugin, and a programmatic library. This flexibility allows developers to fit it into their workflow, whether they prefer automated generation during development or custom integration through scripts.
One of the most appealing features is its compatibility with @icp-sdk/core, ensuring that generated bindings are both clean and type-safe. For those working with modern TypeScript setups, it promises a smoother experience, particularly during rapid development cycles where watch and hot module replacement support help streamline iteration.
Migration has also been kept simple for teams used to older tools such as dfx generate or didc. Documentation provides clear instructions for moving to Bindgen, which could save hours of manual setup across large projects.
The release marks a steady refinement of the Internet Computer’s developer ecosystem. As JavaScript and TypeScript continue to dominate the web development space, improving the ease of integration for onchain components could attract a broader developer base to build natively on ICP.
DFINITY has signalled that a stable API and broader integrations with build tools like Webpack and Rollup are planned, depending on community feedback. There’s also an openness to generating code for different targets such as Azle in future updates.
Developers can explore the documentation at js.icp.build/bindgen, which includes guides for using the CLI, Vite plugin, and library modes. Feedback and issues can be raised on GitHub at github.com/dfinity/icp-js-bindgen/issues, as DFINITY continues to refine the package in collaboration with the developer community.
Dear Reader,
Ledger Life is an independent platform dedicated to covering the Internet Computer (ICP) ecosystem and beyond. We focus on real stories, builder updates, project launches, and the quiet innovations that often get missed.
We’re not backed by sponsors. We rely on readers like you.
If you find value in what we publish—whether it’s deep dives into dApps, explainers on decentralised tech, or just keeping track of what’s moving in Web3—please consider making a donation. It helps us cover costs, stay consistent, and remain truly independent.
Your support goes a long way.
🧠 ICP Principal: ins6i-d53ug-zxmgh-qvum3-r3pvl-ufcvu-bdyon-ovzdy-d26k3-lgq2v-3qe
🧾 ICP Address: f8deb966878f8b83204b251d5d799e0345ea72b8e62e8cf9da8d8830e1b3b05f
🪙 BTC Wallet: bc1pp5kuez9r2atdmrp4jmu6fxersny4uhnaxyrxau4dg7365je8sy2q9zff6p
Every contribution helps keep the lights on, the stories flowing, and the crypto clutter out.
Thank you for reading, sharing, and being part of this experiment in decentralised media.
—Team Ledger Life

