Packages & tools
Use this page when you are setting up a Product project and need to know which SDK, CLI, or helper package belongs in your workflow. The short version is: install the Product SDK for app code, use the Host API when you need to speak directly to the Polkadot app host, and use the CLIs to register names, publish bundles, and manage contracts.
Developer packages
Most projects only need a few direct dependencies:
| Package | Install | Purpose | Bin |
|---|---|---|---|
@parity/product-sdk |
npm i @parity/product-sdk |
TypeScript SDK for building apps: multi-chain access, transactions, signing, contract calls, cloud storage, and identity. | — |
@novasamatech/host-api |
npm i @novasamatech/host-api |
Host↔product transport protocol and typed business methods used by apps running inside the Polkadot app. | — |
@polkadot-community-foundation/dotns-cli |
npm i -g @polkadot-community-foundation/dotns-cli |
CLI for the .dot naming system: register names, set content/address records, manage reverse names and stores. |
dotns |
@polkadot-community-foundation/polkadot-app-deploy |
npm i -g @polkadot-community-foundation/polkadot-app-deploy |
Deploy CLI: uploads a built static bundle to Bulletin, binds it to a .dot domain, and optionally lists it. pad-bootstrap (same package) authorizes the Bulletin storage pool. |
pad, pad-bootstrap |
@polkadot-community-foundation/cdm-cli |
npm i -g @polkadot-community-foundation/cdm-cli |
Contract Dependency Manager: build, deploy, publish, register, and install PolkaVM contracts. | cdm |
@polkadot-community-foundation/cdm-env |
npm i @polkadot-community-foundation/cdm-env |
Maps a network name to its Asset Hub / Bulletin RPCs, IPFS gateway, and CDM registry address. | — |
Node.js 22 or newer
pad and cdm require Node 22+ and fail at startup on Node 20 with an
unrelated-looking error. Check node --version first.
-n is not the same flag everywhere
All the CLIs select a network preset, and for this Devnet it is devnet:
--env devnet for pad and dotns, -n devnet for cdm. Watch the
collision — CDM's -n (--name) is the network, while dotns's -n
is the domain label. cdm's own --help also lists its presets from a
stale set that omits devnet; the preset is valid regardless.
Product SDK family
@parity/product-sdk is the main dependency for Product app code. It gives an
app access to wallet, storage, chain, contract, and identity services through
the surrounding host: the Polkadot app or the web gateway. That host boundary is
intentional. Product apps should not manage private keys or build their own
wallet layer.
| Package | Purpose |
|---|---|
@parity/product-sdk |
Main SDK entry point for Product apps. |
@parity/product-sdk-chain-client |
Typed access to the Devnet chains. |
@parity/product-sdk-descriptors |
Chain descriptors used by the SDK. |
@parity/product-sdk-signer |
Host-backed signing, plus development signers for tests. |
@parity/product-sdk-contracts |
Contract calls and ABI handling for PolkaVM contracts. |
@parity/product-sdk-cloud-storage |
Bulletin-backed content storage helpers. |
@parity/product-sdk-host |
Host detection and host-provided services. |
These packages are versioned together in the
Product SDK monorepo and are usually
pulled in through @parity/product-sdk rather than installed one by one.
Host API packages
Apps that run inside the Polkadot app talk to the host through the Host API. Use this when you need lower-level control over host communication, or when you are testing how your app behaves inside the real host protocol.
| Package | Install | Purpose |
|---|---|---|
@novasamatech/host-api |
npm i @novasamatech/host-api |
Typed host methods for accounts, signing, storage, chat, payments, and remote chain access. |
@novasamatech/host-api-wrapper |
npm i @novasamatech/host-api-wrapper |
Product-side runtime that connects a web app to the host bridge. |
@parity/host-api-test-sdk |
npm i -D @parity/host-api-test-sdk @playwright/test |
Test host for end-to-end tests without launching the full app. Exports the fixture from /playwright; @playwright/test is a peer you install yourself. |
flowchart LR
subgraph iframe[Product iframe]
P[Product code] --> W[host-api-wrapper injects injectedWeb3.spektr]
W --> T[Transport: SCALE codecs over postMessage]
T --> HA[createHostApi business methods]
end
HA -- host_* / remote_* --> HC[host-container / host-papp]
HC --> S[Signing UI + permissions]
HC --> RPC[remote chainHead / chainSpec / tx broadcast]
RPC --> N[(Devnet chains)]
The host-side stack and shared libraries live in the triangle-js-sdks monorepo.
Command-line tools
| CLI | Package | Bin | What it does |
|---|---|---|---|
| Deploy | @polkadot-community-foundation/polkadot-app-deploy |
pad |
Publishes a built static bundle, stores it on Bulletin, and points a .dot domain at it. |
| Storage bootstrap | @polkadot-community-foundation/polkadot-app-deploy |
pad-bootstrap |
Authorizes the Bulletin storage pool pad uploads with, using an authorizer key. Ships in the same package as pad. |
| DotNS | @polkadot-community-foundation/dotns-cli |
dotns |
Registers and manages .dot domains: register, lookup, content, primary, transfer, store, pop, and more. |
| CDM | @polkadot-community-foundation/cdm-cli |
cdm |
Builds, deploys, publishes, and registers PolkaVM contracts. |
A typical deploy invocation binds a built bundle to a name on a chosen network:
Warning
The account pad deploys with must hold a live Bulletin storage
authorization — pad never self-authorizes. See
Get storage authorization.
CDM libraries
The cdm CLI is built on shared libraries that apps and other tools can reuse:
| Package | Install | Purpose |
|---|---|---|
@polkadot-community-foundation/cdm-env |
npm i @polkadot-community-foundation/cdm-env |
Resolves a network name to registry and endpoint information. |
@parity/cdm-builder |
npm i @parity/cdm-builder |
Shared build, deploy, publish, and install pipeline. |
@parity/product-sdk-contracts |
npm i @parity/product-sdk-contracts |
Runtime contract resolution and ABI use from Product apps. |
Where your app runs
Your Product runs inside the Polkadot app or the web gateway. For download links, deployed reference Products, and source repositories, see More resources.
Learn more
- Source: product-sdk · triangle-js-sdks · polkadot-app-deploy · dotns-sdk · CDM
- Networks & endpoints — which network these tools target