For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 with shield, unshield, confidentialTransfer, and balanceOf.

  • 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.

The public configuration API and several primitives were finalized in 3.1.0 (the createConfig name, transport factories, the provider/signer split, and the top-level encrypt/decrypt methods). Read the 3.1.0 notes for the API as it stands today, and start new projects from the Quick start.

Last updated