The 2.0 line, API frozen.
Airdrop v2 on mainnet and Sepolia, every product on Zama 3.6, and safer writes across the SDK.
One flag, the next dist-tag.
The 2.0 line never overwrites latest. Existing 1.x installs are untouched until you opt in.
pnpm add @tokenops/sdk@next viem@^2.47.0 @zama-fhe/sdk@~3.6.0React hooks also need react, wagmi, @tanstack/react-query and @zama-fhe/react-sdk@~3.6.0. Node 22 or later. See bundling and Node servers for wagmi v2 under webpack.
Every subpath, documented from the artifact.
238 React hooks and 309 headless exports, generated from the published v2.0.0-rc.1 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
Same contracts as 1.x. Fee-typed partial claims, receipt-free creates and splits, holder-named role hooks and one-proof batch limits.
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
Encryptors on Zama 3.6, the new /fhe/web subpath, decryption, operators, gas headroom, receipt modes, telemetry and the error palette.
Four changes that touch every app.
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.