Client Libraries and SDK#
DecentralChain’s SDK is developed in one open-source monorepo, Decentral-America/DecentralChain, released under the MIT license. The TypeScript packages are published to npm under the @decentralchain scope; the Java SDK is published to Maven Central.
Note
Publication status and published names/versions checked directly against the npm registry (2026-09-28), by installing each package and reading its actual exports — not assumed from a README. The monorepo’s main branch is ahead of what’s released: several packages are being renamed there (dropping a -js/-serialization suffix, or splitting ts-types into types) and a few are new. This page follows what npm install actually fetches today, not the in-progress monorepo names, and calls out the rename explicitly wherever one is pending. All packages are ESM-only and require Node.js 24 or later.
Warning
@decentralchain/node-api-grpc is the only package with no published npm release at all yet — genuinely new, not a rename. Everything else below has something installable today, even where the monorepo is mid-rename.
Which package do I need?#
I want to… |
Use (current npm name) |
|---|---|
Build, sign and broadcast transactions |
|
Read chain state from a node (REST) |
|
Read chain data over gRPC / subscribe to blockchain updates |
|
Let browser users sign with their own wallet |
|
Sign with a Ledger hardware wallet |
|
Query the data service (asset search, history, DEX data) |
|
Compile or decompile Ride |
|
Work from Java or the JVM |
TypeScript packages#
Versions are each package’s latest tag on npm, not the monorepo’s (ahead-of-release) version — check npm view @decentralchain/<package> version before pinning one, this table will drift.
npm package (install this) |
Version |
Monorepo name, if renamed |
Description |
|---|---|---|---|
|
5.0.0 |
— |
Build and sign (including multi-sign) transactions and broadcast them |
|
2.0.1 ( |
|
Typed client for the node REST API |
|
❌ not published |
— |
gRPC client: accounts, assets, blockchain, blocks, transactions, blockchain updates |
|
4.2.0 |
|
Data service client |
|
1.1.0-beta |
— |
Signing orchestrator that delegates to a provider so keys never reach your app |
|
1.0.0 |
— |
Provider for the Cubensis Connect browser wallet |
|
1.0.0 |
— |
Type definitions for the Cubensis Connect extension API |
|
5.1.0 |
— |
Ledger Nano S/X integration (WebUSB, Web Bluetooth, Node HID) |
|
2.0.0 |
— |
Key generation, signatures, hashing, encoding and encryption primitives |
|
1.0.1 |
— |
Async WASM crypto: Ed25519/X25519 keys, signing, AES, seed management |
|
0.14.0 |
— |
Convert transactions and orders between JS objects, binary and JSON |
|
1.2.0 |
— |
Arbitrary-precision numbers for amounts and fees |
|
2.0.0 |
— |
JSON parser that preserves large-number precision |
|
2.0.0 |
|
Shared TypeScript type definitions |
|
3.0.0 |
— |
Domain classes such as assets and money |
|
4.0.0 |
— |
Canonical DEX asset-pair ordering |
|
1.0.0 |
— |
Parse, encode and validate oracle data |
|
1.0.0 |
— |
Convert human-readable money objects to node API format |
|
6.1.7 |
— |
Multi-provider transaction signing adapter |
|
1.0.0 |
— |
Cross-window messaging for dApps and wallets |
|
2.0.0 |
|
Protocol Buffers schemas and bindings |
|
2.3.1 |
— |
JavaScript wrapper around the Ride compiler |
Installing#
Install only the layers you need. For a Node.js backend that builds, signs, broadcasts and reads state:
npm install @decentralchain/transactions @decentralchain/node-api-js@2.0.1
transactions’ own broadcast() is enough to send a signed transaction to a node without node-api-js at all — see How-To Guides.
For a browser dApp, see Wallet Integration.
Java SDK#
io.decentralchain:java-sdk supports node interaction, offline transaction signing, and address and key creation. It requires Java 11 or later (Java 25 recommended, matching the node). Confirmed published at Maven Central (repo1.maven.org/maven2/io/decentralchain/java-sdk/), version 2.0.1 as of this check.
<dependency>
<groupId>io.decentralchain</groupId>
<artifactId>java-sdk</artifactId>
<version>LATEST</version> <!-- use the current release from Maven Central -->
</dependency>
String seed = Crypto.getRandomSeedPhrase();
PrivateKey privateKey = PrivateKey.fromSeed(seed);
PublicKey publicKey = PublicKey.from(privateKey);
Address address = Address.from(publicKey);
Ride tooling#
@decentralchain/ride compiles, decompiles and inspects Ride scripts from JavaScript, and the monorepo also contains the underlying Scala compiler and REPL under packages/ride. See the Ride language reference.