3.0.x
The first stable v3 line — the high-level clear-text-in, clear-text-out SDK — plus upgraded wrapper and registry contract support.
This page covers the two stable releases of the 3.0.x line, newest first: 3.0.1 (a wrapper/registry contract fix) and 3.0.0 (the major baseline).
3.0.1
Released 2026-05-28.
Upgraded wrapper + registry contract support
This patch aligns the SDK with the upgraded on-chain confidential-wrapper and ConfidentialTokenWrappersRegistry contracts. The SDK reads the current wrapper and registry interfaces, so wrapper resolution and shield/unshield work against the deployed protocol contracts.
In practice this means you can resolve the confidential wrapper for any registered ERC-20 through the built-in registry, then operate on it as a WrappedToken:
// The registry resolves the confidential wrapper for a registered ERC-20.
// On Mainnet, Sepolia, and Hoodi the registry address is built-in.
const result = await sdk.registry.getConfidentialToken("0xUnderlyingERC20");
// Check `isValid` before using the result — the registry can return an entry
// that is not a valid/registered wrapper.
if (!result || !result.isValid) throw new Error("No valid wrapper registered for this token");
const wrappedToken = sdk.createWrappedToken(result.confidentialTokenAddress);
await wrappedToken.shield(1000n);See the WrappersRegistry reference for how wrapper lookup works.
3.0.0
Released 2026-04-22.
3.0.0 is the first stable release of the high-level @zama-fhe/sdk. Its guiding principle is clear-text in, clear-text out: you work with familiar primitives — ERC-20-style balances and transfers for tokens — while the SDK hides the FHE protocol details (encryption, proofs, permits, access control) underneath.
This is a different package from the legacy low-level @zama-fhe/relayer-sdk. If your prior experience centers on createInstance, initSDK, or direct relayer calls, those belong to the legacy SDK. The v3 line introduces the higher-level surface instead:
ZamaSDK— the entry point that owns configuration, chain management, and the relayer lifecycle.Token/WrappedToken— confidential ERC-7984 tokens withshield,unshield,confidentialTransfer, andbalanceOf.createConfig— one call to wire chains, relayers, a provider, and an optional signer together.React hooks — TanStack Query-based hooks with cached decryption, automatic cache invalidation, and one-signature permit management.
Last updated