SDK 2.1 is ready.
Six new public surfaces join the stable 2.x clients for confidential token operations.
Install the latest release.
A plain install resolves SDK 2.1. The runtime toolkit now requires Zod 4 alongside viem.
pnpm add @tokenops/sdk viem@^2.47.0 zod@^4.1.11 @zama-fhe/sdk@~3.6.0React hooks also need react, wagmi, @tanstack/react-query and @zama-fhe/react-sdk@~3.6.0. zod@^4.1.11 is a required peer for the kernel, draft vault, confidential client and observability subpaths. Node 22 or later. See bundling and Node servers for wagmi v2 under webpack.
New building blocks, now in the SDK.
Each surface is independently importable; the vesting engine remains on the existing FHE vesting subpath.
Contract kit
Typed calls, ACL helpers, events, role families, Safe payloads and release conformance for confidential contracts.
Platform kernel
IDs, clocks, domain events, validation, errors, telemetry fields and environment guards shared across runtimes.
Confidential client
A browser orchestration client for encrypting inputs, streaming reveals and clearing confidential session state.
Draft vault
Seal browser drafts under per-organisation keys held in device-bound envelopes, with storage supplied by the app.
Observability
Allowlisted spans, metrics, logs and Sentry adapters for Node processes and web applications.
Versioned vesting engine
Select the audited `v1` math and deterministically preview schedules, claims, token fees, splits and revokes.
Every subpath, documented from the artifact.
238 React hooks and 1870 public export entries, generated from the published v2.1.0 build.
Airdrop v2
A rewrite against new contracts: ECDSA and Merkle variants, relayed Merkle claims, a compliance manager per instance and a factory admin surface.
Vesting
Encrypted manager clients plus the 2.1 versioned engine for deterministic draft, claim, fee, split and revoke previews.
Disperse
Preflight checks the operator approval in every mode, reverted receipts throw, batches stay inside one input proof, and register and disperse can return on submission.
Testnet faucet
Mint the Sepolia test tokens the other modules run against. Chain errors say how to point the client at Sepolia.
FHE + core
Zama 3.6 FHE helpers plus 2.1's contract kit, kernel, confidential client, draft vault and observability surfaces.
The upgrade changes that still matter.
The airdrop contracts are pinned to commit 6b0edcc of VestingLabs/tokenops-fhe-airdrop-v2.
Canonical airdrop deployment
The airdrop contracts carry the external-audit fixes and sit at the same addresses on mainnet and Sepolia. Instances from an alpha factory are not in its registry.
Zama peers move to ~3.6.0
Pass a ZamaSDK as the encryptor and sdk.decryption as the decryptor. The browser encryptor moves to @tokenops/sdk/fhe/web.
Gas headroom on every write
Each write estimates its gas and pads it, so FHE writes no longer run out of gas on a same-block estimate. Override per call with gas.
Receipt-free writes for Safes
waitForReceipt: false returns on submission with a pending result, so a multisig signer never blocks on a hash that will not mine.
Upgrading an existing app?
Start with the guide for the line you are on. Each one lists what breaks per subpath and the change to make.