# Zama Protocol

## Overview

- [Welcome](https://docs.zama.org/protocol/readme.md)
- [FHE on blockchain](https://docs.zama.org/protocol/protocol/overview.md)
- [FHE library](https://docs.zama.org/protocol/protocol/overview/library.md)
- [Host contracts](https://docs.zama.org/protocol/protocol/overview/hostchain.md)
- [Coprocessor](https://docs.zama.org/protocol/protocol/overview/coprocessor.md)
- [Gateway](https://docs.zama.org/protocol/protocol/overview/gateway.md)
- [KMS](https://docs.zama.org/protocol/protocol/overview/kms.md)
- [Roadmap](https://docs.zama.org/protocol/protocol/roadmap.md)
- [Contributing](https://docs.zama.org/protocol/developer/contribute.md)

## Zama Protocol Litepaper

- [Zama Confidential Blockchain Protocol  Litepaper](https://docs.zama.org/protocol/zama-protocol-litepaper/zama-confidential-blockchain-protocol-litepaper.md)

* [Zama 보안 블록체인 프로토콜 라이트 페이퍼](https://docs.zama.org/protocol/zama-protocol-litepaper/ko/zama.md)

- [Zama机密区块链协议简版白皮书](https://docs.zama.org/protocol/zama-protocol-litepaper/zh/zama-ji-mi-qu-kuai-lian-xie-yi-jian-ban-bai-pi-shu.md)

* [Zama 機密性ブロックチェーン・プロトコル ライトペーパー](https://docs.zama.org/protocol/zama-protocol-litepaper/ja/zama-burokkuchnpurotokoru-raitopp.md)

- [Zama Gizli Blockchain Protokolü Litepaper’ı](https://docs.zama.org/protocol/zama-protocol-litepaper/tr/zama-gizli-blockchain-protokolu-litepaperi.md)

* [Protocolo Blockchain Confidencial de Zama - Litepaper](https://docs.zama.org/protocol/zama-protocol-litepaper/es/protocolo-blockchain-confidencial-de-zama-litepaper.md)

## Protocol Apps

- [Overview](https://docs.zama.org/protocol/protocol-apps/readme.md)
- [Apps](https://docs.zama.org/protocol/protocol-apps/apps.md)
- [Zama Token](https://docs.zama.org/protocol/protocol-apps/zama-token.md)
- [Staking](https://docs.zama.org/protocol/protocol-apps/staking.md)
- [Confidential Tokens](https://docs.zama.org/protocol/protocol-apps/confidential-tokens.md)
- [Confidential wrapper](https://docs.zama.org/protocol/protocol-apps/confidential-tokens/confidential-wrapper.md)
- [Registry](https://docs.zama.org/protocol/protocol-apps/confidential-tokens/wrapper-registry.md)
- [Native Confidential token](https://docs.zama.org/protocol/protocol-apps/confidential-tokens/native-confidential-token.md)
- [Governance](https://docs.zama.org/protocol/protocol-apps/governance.md)
- [Governance overview](https://docs.zama.org/protocol/protocol-apps/governance/governance.md)
- [Pausing](https://docs.zama.org/protocol/protocol-apps/governance/pausing.md)
- [Chains](https://docs.zama.org/protocol/protocol-apps/chains.md)
- [Contract addresses](https://docs.zama.org/protocol/protocol-apps/addresses.md)
- [Mainnet](https://docs.zama.org/protocol/protocol-apps/addresses/mainnet.md)
- [Ethereum](https://docs.zama.org/protocol/protocol-apps/addresses/mainnet/ethereum.md)
- [Polygon](https://docs.zama.org/protocol/protocol-apps/addresses/mainnet/polygon.md)
- [Zama Gateway](https://docs.zama.org/protocol/protocol-apps/addresses/mainnet/gateway.md)
- [BSC](https://docs.zama.org/protocol/protocol-apps/addresses/mainnet/bsc.md)
- [HyperEVM](https://docs.zama.org/protocol/protocol-apps/addresses/mainnet/hyper_evm.md)
- [Solana](https://docs.zama.org/protocol/protocol-apps/addresses/mainnet/solana.md)
- [Testnet](https://docs.zama.org/protocol/protocol-apps/addresses/testnet.md)
- [Sepolia](https://docs.zama.org/protocol/protocol-apps/addresses/testnet/sepolia.md)
- [Hoodi](https://docs.zama.org/protocol/protocol-apps/addresses/testnet/hoodi.md)
- [Zama Gateway](https://docs.zama.org/protocol/protocol-apps/addresses/testnet/gateway.md)
- [Polygon Amoy](https://docs.zama.org/protocol/protocol-apps/addresses/testnet/amoy.md)

## Solidity Guides

- [README](https://docs.zama.org/protocol/solidity-guides/v0.10/readme.md)
- [Contributor Covenant Code of Conduct](https://docs.zama.org/protocol/solidity-guides/v0.10/code_of_conduct.md)
- [Security](https://docs.zama.org/protocol/solidity-guides/v0.10/security.md)
- [coprocessor](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor.md)
- [Welcome to FHEVM backend](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs.md): The FHEVM backend allows users to run their own L1 or coprocessor with FHEVM technology. It enables confidential smart contracts on the EVM using FHE.
- [Table of contents](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/summary.md)
- [developer](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/developer.md)
- [Contributing](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/developer/contribute.md)
- [Roadmap](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/developer/roadmap.md)
- [fundamentals](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals.md)
- [Glossary](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/glossary.md)
- [Overview](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/overview.md)
- [fhevm](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm.md)
- [contracts](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/contracts.md)
- [Inputs](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/inputs.md)
- [Symbolic Execution](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/symbolic_execution.md)
- [coprocessor](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/coprocessor.md)
- [Architecture](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/coprocessor/architecture.md)
- [FHE Computation](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/coprocessor/fhe_computation.md)
- [native](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/native.md)
- [Architecture](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/native/architecture.md)
- [FHE Computation](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/native/fhe_computation.md)
- [Genesis](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/native/genesis.md)
- [Storage](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/fhevm/native/storage.md)
- [gateway](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/gateway.md)
- [Decryption and reencryption request on TKMS](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/gateway/asc.md)
- [Decryption](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/gateway/decryption.md)
- [Inclusion Proof](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/gateway/proof.md)
- [Reencryption](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/gateway/reencryption.md)
- [tkms](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/tkms.md)
- [Architecture](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/tkms/architecture.md)
- [Blockchain](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/tkms/blockchain.md)
- [Centralized](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/tkms/centralized.md)
- [Threshold](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/tkms/threshold.md)
- [Zama's TKMS](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/fundamentals/tkms/zama.md)
- [getting\_started](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started.md)
- [Quick start](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/quick_start.md)
- [gateway](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/gateway.md)
- [Configuration](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/gateway/configuration.md)
- [tkms](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/tkms.md)
- [Application Smart Contract](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/tkms/contract.md)
- [Request the creation of a new private key](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/tkms/create.md)
- [Run a KMS](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/tkms/run.md)
- [Use Zama's TKMS](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/tkms/zama.md)
- [fhevm](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/fhevm.md)
- [coprocessor](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/fhevm/coprocessor.md)
- [Configuration](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/fhevm/coprocessor/configuration.md)
- [Coprocessor Backend](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/fhevm/coprocessor/coprocessor_backend.md)
- [native](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/fhevm/native.md)
- [Configuration](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/fhevm/native/configuration.md)
- [Executor](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/fhevm/native/executor.md)
- [Integration](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/getting_started/fhevm/native/geth.md)
- [guides](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/guides.md)
- [Run a benchmark](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/guides/benchmark.md)
- [Node and gateway hardware](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/guides/hardware.md)
- [references](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/references.md)
- [FHEVM API specifications](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/references/fhevm_api.md)
- [Gateway API Specifications](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/docs/references/gateway_api.md)
- [fhevm-engine](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/fhevm-engine.md)
- [Gateway Listener](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/fhevm-engine/gw-listener.md)
- [fhEVM-Listener](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/fhevm-engine/host-listener.md)
- [Switch-and-Squash executor](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/fhevm-engine/sns-worker.md)
- [Coprocessor stress test generator](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/fhevm-engine/stress-test-generator.md)
- [Fhevm Coprocessor](https://docs.zama.org/protocol/solidity-guides/v0.10/coprocessor/fhevm-engine/tfhe-worker.md)
- [gateway-contracts](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts.md)
- [Welcome to fhevm Gateway](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs.md): The fhevm Gateway.
- [Table of contents](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/summary.md)
- [references](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/references.md)
- [Smart Contract selectors](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/references/selectors.md)
- [getting-started](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started.md)
- [contracts](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/contracts.md)
- [GatewayConfig contract](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/contracts/gateway_config.md)
- [KMSGeneration contract](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/contracts/kms_generation.md)
- [PauserSet contract](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/contracts/pauser_set.md)
- [deployment](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/deployment.md)
- [Deploy contracts in Docker](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/deployment/docker_deploy.md)
- [Environment variables](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/deployment/env_variables.md)
- [Deploy contracts locally](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/deployment/local_deploy.md)
- [pausing](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/pausing.md)
- [Environment variables](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/pausing/env_variables.md)
- [Pausing mechanism](https://docs.zama.org/protocol/solidity-guides/v0.10/gateway-contracts/docs/getting-started/pausing/pausing.md)
- [host-contracts](https://docs.zama.org/protocol/solidity-guides/v0.10/host-contracts.md)
- [kms-connector](https://docs.zama.org/protocol/solidity-guides/v0.10/kms-connector.md)
- [docs](https://docs.zama.org/protocol/solidity-guides/v0.10/kms-connector/docs.md)
- [KMS Connector Architecture](https://docs.zama.org/protocol/solidity-guides/v0.10/kms-connector/docs/architecture.md)
- [library-solidity](https://docs.zama.org/protocol/solidity-guides/v0.10/library-solidity.md)
- [Security](https://docs.zama.org/protocol/solidity-guides/v0.10/library-solidity/security.md)
- [codegen](https://docs.zama.org/protocol/solidity-guides/v0.10/library-solidity/codegen.md)
- [test-suite](https://docs.zama.org/protocol/solidity-guides/v0.10/test-suite.md)
- [Changelog](https://docs.zama.org/protocol/solidity-guides/v0.10/test-suite/changelog.md)
- [Sample Hardhat Project](https://docs.zama.org/protocol/solidity-guides/v0.10/test-suite/e2e.md)
- [Gateway Stress-Test Tool](https://docs.zama.org/protocol/solidity-guides/v0.10/test-suite/gateway-stress.md)
- [.github](https://docs.zama.org/protocol/solidity-guides/v0.10/.github.md)
- [ISSUE\_TEMPLATE](https://docs.zama.org/protocol/solidity-guides/v0.10/.github/issue_template.md)
- [docs(\<category>): short description](https://docs.zama.org/protocol/solidity-guides/v0.10/.github/issue_template/documentation-issue.md)
- [charts](https://docs.zama.org/protocol/solidity-guides/v0.10/charts.md)
- [kms-connector](https://docs.zama.org/protocol/solidity-guides/v0.10/charts/kms-connector.md)
- [docs](https://docs.zama.org/protocol/solidity-guides/v0.10/docs.md)
- [examples](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples.md)
- [SUMMARY](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/summary.md)
- [fhe-counter](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/fhe-counter.md)
- [fhe-encrypt-multiple-value](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/fhe-encrypt-multiple-value.md)
- [fhe-encrypt-multiple-values](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/fhe-encrypt-multiple-values.md)
- [fhe-encrypt-single-value](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/fhe-encrypt-single-value.md)
- [fhe-user-decrypt-multiple-values](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/fhe-user-decrypt-multiple-values.md)
- [fhe-user-decrypt-single-value](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/fhe-user-decrypt-single-value.md)
- [fheadd](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/fheadd.md)
- [fheifthenelse](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/fheifthenelse.md)
- [heads-or-tails](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/heads-or-tails.md)
- [highest-die-roll](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/highest-die-roll.md)
- [sealed-bid-auction-tutorial](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/sealed-bid-auction-tutorial.md)
- [sealed-bid-auction](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/sealed-bid-auction.md)
- [legacy](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/legacy.md)
- [See all tutorials](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/legacy/see-all-tutorials.md)
- [openzeppelin](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/openzeppelin.md)
- [ERC7984ERC20WrapperMock](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/openzeppelin/erc7984erc20wrappermock.md)
- [erc7984-tutorial](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/openzeppelin/erc7984-tutorial.md)
- [erc7984](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/openzeppelin/erc7984.md)
- [swapERC7984ToERC20](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/openzeppelin/swaperc7984toerc20.md)
- [swapERC7984ToERC7984](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/openzeppelin/swaperc7984toerc7984.md)
- [vesting-wallet](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/examples/openzeppelin/vesting-wallet.md)
- [metrics](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/metrics.md)
- [FHEVM Metrics](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/metrics/metrics.md)
- [operators](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/operators.md)
- [operators-overview](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/operators/operators-overview.md)
- [Welcome](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol.md)
- [Table of contents](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/summary.md)
- [Contributing](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/contribute.md)
- [Encryption, decryption, and computation](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/d_re_ecrypt_compute.md)
- [Roadmap](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/roadmap.md)
- [architecture](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/architecture.md)
- [Coprocessor](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/architecture/coprocessor.md)
- [Gateway](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/architecture/gateway.md)
- [Host contracts](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/architecture/hostchain.md)
- [KMS](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/architecture/kms.md)
- [FHE library](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/architecture/library.md)
- [FHE on Blockchain](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/architecture/overview.md)
- [Relayer & Oracle](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/protocol/architecture/relayer_oracle.md)
- [sdk-guides](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/sdk-guides.md)
- [SUMMARY](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/sdk-guides/summary.md)
- [Using the CLI](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/sdk-guides/cli.md)
- [Setup](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/sdk-guides/initialization.md)
- [Input registration](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/sdk-guides/input.md)
- [Public Decryption](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/sdk-guides/public-decryption.md)
- [Relayer SDK](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/sdk-guides/sdk-overview.md)
- [User decryption](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/sdk-guides/user-decryption.md)
- [Build a web application](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/sdk-guides/webapp.md)
- [Common webpack errors](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/sdk-guides/webpack.md)
- [Overview](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides.md)
- [Table of contents](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/summary.md)
- [Configuration](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/configure.md)
- [Table of all addresses](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/contract_addresses.md)
- [Debugging with debug.decrypt\[XX\]](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/debug_decrypt.md)
- [Foundry](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/foundry.md)
- [Smart contracts - FHEVM API](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/functions.md)
- [Homomorphic Complexity Units ("HCU") in FHEVM](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/hcu.md)
- [Encrypted Inputs](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/inputs.md)
- [Key features](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/key_concepts.md)
- [migration](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/migration.md)
- [Mocked mode](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/mocked.md)
- [How to Transform Your Smart Contract into a FHEVM Smart Contract?](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/transform_smart_contract_with_fhevm.md)
- [Supported types](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/types.md)
- [Access Control List](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/acl.md)
- [ACL examples](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/acl/acl_examples.md)
- [Reorgs handling](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/acl/reorgs_handling.md)
- [decryption](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/decryption.md)
- [Debugging](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/decryption/debugging.md)
- [oracle](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/decryption/oracle.md)
- [getting-started](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/getting-started.md)
- [Key features](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/getting-started/overview.md)
- [Quick Start Tutorial](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/getting-started/quick-start-tutorial.md)
- [Set up Hardhat](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/getting-started/quick-start-tutorial/setup.md)
- [Test the FHEVM contract](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/getting-started/quick-start-tutorial/test_the_fhevm_contract.md)
- [Turn it into FHEVM](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/getting-started/quick-start-tutorial/turn_it_into_fhevm.md)
- [Write a simple contract](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/getting-started/quick-start-tutorial/write_a_simple_contract.md)
- [hardhat](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/hardhat.md)
- [run\_test](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/hardhat/run_test.md)
- [write\_task](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/hardhat/write_task.md)
- [write\_test](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/hardhat/write_test.md)
- [logics](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/logics.md)
- [Branching in FHE](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/logics/conditions.md)
- [Error handling](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/logics/error_handling.md)
- [Dealing with branches and conditions](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/logics/loop.md)
- [Operations on encrypted types](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/operations.md)
- [Casting and trivial encryption](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/operations/casting.md)
- [Generate random numbers](https://docs.zama.org/protocol/solidity-guides/v0.10/docs/solidity-guides/operations/random.md)
- [protocol-contracts](https://docs.zama.org/protocol/solidity-guides/v0.10/protocol-contracts.md)
- [Deployment guide for testing](https://docs.zama.org/protocol/solidity-guides/v0.10/protocol-contracts/deploy.md)
- [feesBurner](https://docs.zama.org/protocol/solidity-guides/v0.10/protocol-contracts/feesburner.md)
- [Governance OApp](https://docs.zama.org/protocol/solidity-guides/v0.10/protocol-contracts/governance.md)
- [PauserSetWrapper](https://docs.zama.org/protocol/solidity-guides/v0.10/protocol-contracts/pausersetwrapper.md)
- [AdminModule for the Safe MultiSig wallet to be used on Gateway](https://docs.zama.org/protocol/solidity-guides/v0.10/protocol-contracts/safe.md)
- [Zama token quickstart](https://docs.zama.org/protocol/solidity-guides/v0.10/protocol-contracts/token.md)
- [sdk](https://docs.zama.org/protocol/solidity-guides/v0.10/sdk.md)
- [FHEVM Gateway SDK for Rust](https://docs.zama.org/protocol/solidity-guides/v0.10/sdk/rust-sdk.md)

* [Overview](https://docs.zama.org/protocol/solidity-guides/v0.11/readme.md)
* [What is FHEVM Solidity](https://docs.zama.org/protocol/solidity-guides/v0.11/getting-started/overview.md)
* [Set up Hardhat](https://docs.zama.org/protocol/solidity-guides/v0.11/getting-started/setup.md)
* [Quick start tutorial](https://docs.zama.org/protocol/solidity-guides/v0.11/getting-started/quick-start-tutorial.md)
* [2. Write a simple contract](https://docs.zama.org/protocol/solidity-guides/v0.11/getting-started/quick-start-tutorial/write_a_simple_contract.md)
* [3. Turn it into FHEVM](https://docs.zama.org/protocol/solidity-guides/v0.11/getting-started/quick-start-tutorial/turn_it_into_fhevm.md)
* [4. Test the FHEVM contract](https://docs.zama.org/protocol/solidity-guides/v0.11/getting-started/quick-start-tutorial/test_the_fhevm_contract.md)
* [Configuration](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/configure.md)
* [Contract addresses](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/configure/contract_addresses.md)
* [Supported types](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/types.md)
* [Operations on encrypted types](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/operations.md)
* [Casting and trivial encryption](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/operations/casting.md)
* [Generate random numbers](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/operations/random.md)
* [Encrypted inputs](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/inputs.md)
* [Access Control List](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/acl.md)
* [ACL examples](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/acl/acl_examples.md)
* [Reorgs handling](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/acl/reorgs_handling.md)
* [Logics](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/logics.md)
* [Branching](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/logics/conditions.md)
* [Dealing with branches and conditions](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/logics/loop.md)
* [Error handling](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/logics/error_handling.md)
* [Decryption](https://docs.zama.org/protocol/solidity-guides/v0.11/smart-contract/oracle.md)
* [Hardhat plugin](https://docs.zama.org/protocol/solidity-guides/v0.11/development-guide/hardhat.md)
* [Write FHEVM tests in Hardhat](https://docs.zama.org/protocol/solidity-guides/v0.11/development-guide/hardhat/write_test.md)
* [Deploy contracts and run tests](https://docs.zama.org/protocol/solidity-guides/v0.11/development-guide/hardhat/run_test.md)
* [Write FHEVM-enabled Hardhat Tasks](https://docs.zama.org/protocol/solidity-guides/v0.11/development-guide/hardhat/write_task.md)
* [Foundry](https://docs.zama.org/protocol/solidity-guides/v0.11/development-guide/foundry.md)
* [HCU](https://docs.zama.org/protocol/solidity-guides/v0.11/development-guide/hcu.md)
* [Migrate to v0.9](https://docs.zama.org/protocol/solidity-guides/v0.11/development-guide/migration.md)
* [How to Transform Your Smart Contract into a FHEVM Smart Contract?](https://docs.zama.org/protocol/solidity-guides/v0.11/development-guide/transform_smart_contract_with_fhevm.md)

- [Overview](https://docs.zama.org/protocol/solidity-guides/v0.12/readme.md)
- [What is FHEVM Solidity](https://docs.zama.org/protocol/solidity-guides/v0.12/getting-started/overview.md)
- [Set up Hardhat](https://docs.zama.org/protocol/solidity-guides/v0.12/getting-started/setup.md)
- [Quick start tutorial](https://docs.zama.org/protocol/solidity-guides/v0.12/getting-started/quick-start-tutorial.md)
- [2. Write a simple contract](https://docs.zama.org/protocol/solidity-guides/v0.12/getting-started/quick-start-tutorial/write_a_simple_contract.md)
- [3. Turn it into FHEVM](https://docs.zama.org/protocol/solidity-guides/v0.12/getting-started/quick-start-tutorial/turn_it_into_fhevm.md)
- [4. Test the FHEVM contract](https://docs.zama.org/protocol/solidity-guides/v0.12/getting-started/quick-start-tutorial/test_the_fhevm_contract.md)
- [Configuration](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/configure.md)
- [Contract addresses](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/configure/contract_addresses.md)
- [Supported types](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/types.md)
- [Operations on encrypted types](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/operations.md)
- [Casting and trivial encryption](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/operations/casting.md)
- [Generate random numbers](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/operations/random.md)
- [Encrypted inputs](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/inputs.md)
- [Access Control List](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/acl.md)
- [ACL examples](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/acl/acl_examples.md)
- [Reorgs handling](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/acl/reorgs_handling.md)
- [Logics](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/logics.md)
- [Branching](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/logics/conditions.md)
- [Dealing with branches and conditions](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/logics/loop.md)
- [Error handling](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/logics/error_handling.md)
- [Decryption](https://docs.zama.org/protocol/solidity-guides/v0.12/smart-contract/oracle.md)
- [Hardhat plugin](https://docs.zama.org/protocol/solidity-guides/v0.12/development-guide/hardhat.md)
- [Write FHEVM tests in Hardhat](https://docs.zama.org/protocol/solidity-guides/v0.12/development-guide/hardhat/write_test.md)
- [Deploy contracts and run tests](https://docs.zama.org/protocol/solidity-guides/v0.12/development-guide/hardhat/run_test.md)
- [Write FHEVM-enabled Hardhat Tasks](https://docs.zama.org/protocol/solidity-guides/v0.12/development-guide/hardhat/write_task.md)
- [Foundry](https://docs.zama.org/protocol/solidity-guides/v0.12/development-guide/foundry.md)
- [HCU](https://docs.zama.org/protocol/solidity-guides/v0.12/development-guide/hcu.md)
- [Migrate to v0.9](https://docs.zama.org/protocol/solidity-guides/v0.12/development-guide/migration.md)
- [How to Transform Your Smart Contract into a FHEVM Smart Contract?](https://docs.zama.org/protocol/solidity-guides/v0.12/development-guide/transform_smart_contract_with_fhevm.md)

* [Overview](https://docs.zama.org/protocol/solidity-guides/readme.md)
* [What is FHEVM Solidity](https://docs.zama.org/protocol/solidity-guides/getting-started/overview.md)
* [Set up Hardhat](https://docs.zama.org/protocol/solidity-guides/getting-started/setup.md)
* [Set up Foundry](https://docs.zama.org/protocol/solidity-guides/getting-started/setup-1.md)
* [Quick start tutorial (Hardhat)](https://docs.zama.org/protocol/solidity-guides/getting-started/quick-start-tutorial.md)
* [2. Write a simple contract](https://docs.zama.org/protocol/solidity-guides/getting-started/quick-start-tutorial/write_a_simple_contract.md)
* [3. Turn it into FHEVM](https://docs.zama.org/protocol/solidity-guides/getting-started/quick-start-tutorial/turn_it_into_fhevm.md)
* [4. Test the FHEVM contract](https://docs.zama.org/protocol/solidity-guides/getting-started/quick-start-tutorial/test_the_fhevm_contract.md)
* [Configuration](https://docs.zama.org/protocol/solidity-guides/smart-contract/configure.md)
* [Contract addresses](https://docs.zama.org/protocol/solidity-guides/smart-contract/configure/contract_addresses.md)
* [Supported types](https://docs.zama.org/protocol/solidity-guides/smart-contract/types.md)
* [Handles](https://docs.zama.org/protocol/solidity-guides/smart-contract/handles.md)
* [Operations on encrypted types](https://docs.zama.org/protocol/solidity-guides/smart-contract/operations.md)
* [Casting and trivial encryption](https://docs.zama.org/protocol/solidity-guides/smart-contract/operations/casting.md)
* [Generate random numbers](https://docs.zama.org/protocol/solidity-guides/smart-contract/operations/random.md)
* [Encrypted inputs](https://docs.zama.org/protocol/solidity-guides/smart-contract/inputs.md)
* [Access Control List](https://docs.zama.org/protocol/solidity-guides/smart-contract/acl.md)
* [ACL examples](https://docs.zama.org/protocol/solidity-guides/smart-contract/acl/acl_examples.md)
* [User decryption delegation](https://docs.zama.org/protocol/solidity-guides/smart-contract/acl/delegation.md)
* [Reorgs handling](https://docs.zama.org/protocol/solidity-guides/smart-contract/acl/reorgs_handling.md)
* [Logics](https://docs.zama.org/protocol/solidity-guides/smart-contract/logics.md)
* [Branching](https://docs.zama.org/protocol/solidity-guides/smart-contract/logics/conditions.md)
* [Dealing with branches and conditions](https://docs.zama.org/protocol/solidity-guides/smart-contract/logics/loop.md)
* [Error handling](https://docs.zama.org/protocol/solidity-guides/smart-contract/logics/error_handling.md)
* [Public Decryption](https://docs.zama.org/protocol/solidity-guides/smart-contract/oracle.md)
* [FHEVM API reference](https://docs.zama.org/protocol/solidity-guides/smart-contract/functions.md)
* [Hardhat plugin](https://docs.zama.org/protocol/solidity-guides/development-guide/hardhat.md)
* [Write FHEVM tests in Hardhat](https://docs.zama.org/protocol/solidity-guides/development-guide/hardhat/write_test.md)
* [Deploy contracts and run tests](https://docs.zama.org/protocol/solidity-guides/development-guide/hardhat/run_test.md)
* [Write FHEVM-enabled Hardhat Tasks](https://docs.zama.org/protocol/solidity-guides/development-guide/hardhat/write_task.md)
* [Foundry](https://docs.zama.org/protocol/solidity-guides/development-guide/foundry.md)
* [Write FHEVM tests in Foundry](https://docs.zama.org/protocol/solidity-guides/development-guide/foundry/write_test.md)
* [Deploy contracts](https://docs.zama.org/protocol/solidity-guides/development-guide/foundry/deploy.md)
* [forge-fhevm API reference](https://docs.zama.org/protocol/solidity-guides/development-guide/foundry/api.md)
* [HCU](https://docs.zama.org/protocol/solidity-guides/development-guide/hcu.md)
* [How to Transform Your Smart Contract into a FHEVM Smart Contract?](https://docs.zama.org/protocol/solidity-guides/development-guide/transform_smart_contract_with_fhevm.md)

## Zama SDK

- [Overview](https://docs.zama.org/protocol/sdk/overview.md): TypeScript SDK for confidential smart contracts — shield, transfer, and unshield tokens with Fully Homomorphic Encryption.
- [Quick start](https://docs.zama.org/protocol/sdk/getting-started/quick-start.md): Get from zero to a working confidential transfer in under 5 minutes.
- [First confidential dApp](https://docs.zama.org/protocol/sdk/getting-started/first-confidential-dapp.md): End-to-end tutorial building a token dashboard with React, wagmi, and the Zama React SDK.
- [Wallet & exchange integration](https://docs.zama.org/protocol/sdk/getting-started/wallet-exchange-integration.md): How wallets and exchanges support ERC-7984 confidential tokens with the Zama SDK — display balances, build transfers, manage operators, and wrap/unwrap between ERC-20 and confidential form.
- [Build with an LLM](https://docs.zama.org/protocol/sdk/getting-started/build-with-an-llm.md): Give coding agents grounded Zama SDK context — install the Zama skills, or point agents without skill support at the SDK's llms.txt files.
- [Supported environments](https://docs.zama.org/protocol/sdk/getting-started/supported-environments.md): Minimum browser and Node.js versions for the SDK.
- [Migrate from v2 to v3](https://docs.zama.org/protocol/sdk/migration/migrate-v2-to-v3.md): Step-by-step guide to upgrade an app from @zama-fhe/sdk 2.x to 3.x — config factory, relayer factories, permits, operators, encrypt/decrypt glossary.
- [Release channels](https://docs.zama.org/protocol/sdk/changelog/changelog.md): What stable, beta, and alpha mean for @zama-fhe/sdk, and where to find what changed in each.
- [Beta (unreleased)](https://docs.zama.org/protocol/sdk/changelog/beta.md): Unreleased changes on the prerelease (beta) line — not yet in a stable release.
- [3.x (current)](https://docs.zama.org/protocol/sdk/changelog/v3.md): Human-readable release notes for the 3.x line — what changed in each minor version of @zama-fhe/sdk and @zama-fhe/react-sdk, in plain language.
- [3.6.x](https://docs.zama.org/protocol/sdk/changelog/v3/v3-6.md): Web Worker encryption offload, structured wallet-signing and permit-failure events, an interrupted-unshield resume fix, and orphaned relayer entries that warn instead of throwing.
- [3.5.x](https://docs.zama.org/protocol/sdk/changelog/v3/v3-5.md): Polygon presets, offline signing and decryption permits, at-rest transport-key encryption, and automatic KMS-context recovery.
- [3.4.x](https://docs.zama.org/protocol/sdk/changelog/v3/v3-4.md): An internal FHE backend migration to @fhevm/sdk, FHE runtime and client tuning knobs, shared transport key pairs for B2B2C, automatic decrypt-batch chunking, and a two-signature shield via wrap().
- [3.3.x](https://docs.zama.org/protocol/sdk/changelog/v3/v3-3.md): confidentialTransferAndCall, automatic pending-unshield recovery, and typed decryption error causes.
- [3.2.x](https://docs.zama.org/protocol/sdk/changelog/v3/v3-2.md): Configurable, silent-by-default logging; upgrade codemods; and a Wrap event decoding fix.
- [3.1.x](https://docs.zama.org/protocol/sdk/changelog/v3/v3-1.md): createConfig, transport factories, the provider/signer split, the Token/WrappedToken hierarchy, and top-level FHE primitives.
- [3.0.x](https://docs.zama.org/protocol/sdk/changelog/v3/v3-0.md): The first stable v3 line — the high-level clear-text-in, clear-text-out SDK — plus upgraded wrapper and registry contract support.
- [Legacy versions](https://docs.zama.org/protocol/sdk/changelog/legacy.md): Release notes for the superseded 1.x and 2.x lines. The current, actively-maintained release line is 3.x.
- [2.x](https://docs.zama.org/protocol/sdk/changelog/legacy/v2.md): Human-readable release notes for the 2.x line — delegated decryption, the wrappers registry, balance validation before transfers, and the public-decrypt primitive.
- [1.x](https://docs.zama.org/protocol/sdk/changelog/legacy/v1.md): Human-readable release notes for the 1.x line — cleartext local development, session-scoped signing, wagmi v2 compatibility, and early production hardening.
- [Configuration](https://docs.zama.org/protocol/sdk/guides/configuration.md): How to configure the SDK with createConfig — chains, relayers, provider, signer, and storage.
- [Authentication](https://docs.zama.org/protocol/sdk/guides/authentication.md): How to authenticate with the relayer using a backend proxy or a direct API key.
- [Relayer API keys](https://docs.zama.org/protocol/sdk/guides/relayer-api-keys.md): How to obtain, configure, and securely manage your Zama Relayer API key.
- [Shield tokens](https://docs.zama.org/protocol/sdk/guides/shield-tokens.md): How to convert public ERC-20 tokens into their confidential form.
- [Transfer privately](https://docs.zama.org/protocol/sdk/guides/transfer-privately.md): How to send confidential tokens so the amount stays hidden on-chain.
- [Unshield tokens](https://docs.zama.org/protocol/sdk/guides/unshield-tokens.md): Convert confidential tokens back to public ERC-20 by unshielding them.
- [Check balances](https://docs.zama.org/protocol/sdk/guides/check-balances.md): Decrypt and read confidential token balances using the SDK and React hooks.
- [Decrypt values from event logs](https://docs.zama.org/protocol/sdk/guides/decrypt-from-event-logs.md): Decrypt an FHE encrypted value pulled straight off an event log — the common server-side pattern for indexers, wallet history, and bridges.
- [Handle errors](https://docs.zama.org/protocol/sdk/guides/handle-errors.md): Catch, match, and recover from SDK errors in your application.
- [Node.js backend](https://docs.zama.org/protocol/sdk/guides/node-js-backend.md): How to use the SDK in a Node.js server environment with per-request storage isolation.
- [Offline signing](https://docs.zama.org/protocol/sdk/guides/offline.md): How to build unsigned transactions that are signed and broadcast out-of-process by a custody platform, HSM, or policy engine.
- [Web extensions](https://docs.zama.org/protocol/sdk/guides/web-extensions.md): How to use the SDK in MV3 Chrome extensions with persistent permit storage.
- [Local development](https://docs.zama.org/protocol/sdk/guides/local-development.md): How to use the cleartext relayer for local Hardhat nodes and custom chain deployments without a KMS or gateway.
- [Next.js SSR](https://docs.zama.org/protocol/sdk/guides/nextjs-ssr.md): How to use the SDK with Next.js and server-side rendering frameworks.
- [Operator approvals](https://docs.zama.org/protocol/sdk/guides/operator-approvals.md): How to approve another address to act on your confidential tokens.
- [Delegated decryption](https://docs.zama.org/protocol/sdk/guides/delegated-decryption.md): Grant another address the right to decrypt confidential balances, then read those balances as a delegate.
- [Encrypt & decrypt](https://docs.zama.org/protocol/sdk/guides/encrypt-decrypt.md): How to encrypt values and decrypt FHE encrypted values for custom confidential smart contracts that are not wrapped ERC-20 tokens.
- [SDK reference](https://docs.zama.org/protocol/sdk/api-references/sdk.md)
- [ZamaSDK](https://docs.zama.org/protocol/sdk/api-references/sdk/zamasdk.md): Entry point for all confidential contract operations.
- [Token](https://docs.zama.org/protocol/sdk/api-references/sdk/token.md): Read/write interface for an ERC-7984 confidential token — balances, transfers, operator approvals.
- [WrappedToken](https://docs.zama.org/protocol/sdk/api-references/sdk/wrappedtoken.md): ERC-7984 ERC-20 wrapper interface — shield, unshield, allowance.
- [WrappersRegistry](https://docs.zama.org/protocol/sdk/api-references/sdk/wrappersregistry.md): Query the on-chain token wrappers registry — list pairs, look up tokens, and validate confidential tokens.
- [web() transport](https://docs.zama.org/protocol/sdk/api-references/sdk/relayerweb.md): Browser relayer transport that runs FHE operations via bundled WASM.
- [node() transport](https://docs.zama.org/protocol/sdk/api-references/sdk/relayernode.md): Node.js relayer transport that runs FHE operations through @fhevm/sdk on the calling thread.
- [cleartext() transport](https://docs.zama.org/protocol/sdk/api-references/sdk/relayercleartext.md): Development relayer transport that operates in cleartext mode, without FHE, KMS, or gateway dependencies.
- [GenericProvider](https://docs.zama.org/protocol/sdk/api-references/sdk/genericprovider.md): Interface that all provider adapters must implement for chain reads and unsigned transaction preparation.
- [GenericSigner](https://docs.zama.org/protocol/sdk/api-references/sdk/genericsigner.md): Interface that all signer adapters must implement for the SDK to interact with wallets.
- [ViemProvider](https://docs.zama.org/protocol/sdk/api-references/sdk/viemprovider.md): Provider adapter that wraps a viem PublicClient for read-only chain access.
- [ViemSigner](https://docs.zama.org/protocol/sdk/api-references/sdk/viemsigner.md): Signer adapter that wraps a viem WalletClient for wallet operations.
- [EthersProvider](https://docs.zama.org/protocol/sdk/api-references/sdk/ethersprovider.md): Provider adapter that wraps an ethers Provider or EIP-1193 source for read-only chain access.
- [EthersSigner](https://docs.zama.org/protocol/sdk/api-references/sdk/etherssigner.md): Signer adapter that wraps an ethers Signer or EIP-1193 source for wallet operations.
- [GenericStorage](https://docs.zama.org/protocol/sdk/api-references/sdk/genericstorage.md): Interface for async key-value storage used to persist transport key pairs and signed permits.
- [Errors](https://docs.zama.org/protocol/sdk/api-references/sdk/errors.md): All SDK error classes, codes, and the matchZamaError utility.
- [Contract builders](https://docs.zama.org/protocol/sdk/api-references/sdk/contract-builders.md): Low-level builders that return raw contract call configs for viem, ethers, or custom execution layers.
- [Event decoders](https://docs.zama.org/protocol/sdk/api-references/sdk/event-decoders.md): Decode on-chain logs into typed event objects.
- [Delegations](https://docs.zama.org/protocol/sdk/api-references/sdk/delegation.md): On-chain delegation management — grant, revoke, and query decryption delegation rights via the ACL contract.
- [Offline](https://docs.zama.org/protocol/sdk/api-references/sdk/offline.md): Build unsigned transactions for out-of-process signing - the offline counterpart of the atomic Token methods.
- [Network presets](https://docs.zama.org/protocol/sdk/api-references/sdk/network-presets.md): Pre-configured chain objects and legacy network configs for supported networks.
- [React reference](https://docs.zama.org/protocol/sdk/api-references/react.md)
- [ZamaProvider](https://docs.zama.org/protocol/sdk/api-references/react/zamaprovider.md): Context provider that supplies the Zama SDK to all descendant hooks.
- [useConfidentialBalance](https://docs.zama.org/protocol/sdk/api-references/react/useconfidentialbalance.md): Decrypt a single token's confidential balance.
- [useConfidentialBalances](https://docs.zama.org/protocol/sdk/api-references/react/useconfidentialbalances.md): Decrypt and poll multiple tokens' confidential balances in a single query.
- [useConfidentialTransfer](https://docs.zama.org/protocol/sdk/api-references/react/useconfidentialtransfer.md): Send confidential ERC-20 tokens privately.
- [useConfidentialTransferFrom](https://docs.zama.org/protocol/sdk/api-references/react/useconfidentialtransferfrom.md): Transfer confidential tokens on behalf of an owner who approved you as an operator.
- [useConfidentialTransferFromAndCall](https://docs.zama.org/protocol/sdk/api-references/react/useconfidentialtransferfromandcall.md): Operator-initiated confidential transfer that also invokes the recipient's receiver hook in one transaction.
- [useShield](https://docs.zama.org/protocol/sdk/api-references/react/useshield.md): Mutation hook that shields public ERC-20 tokens into confidential form.
- [useApproveUnderlying](https://docs.zama.org/protocol/sdk/api-references/react/useapproveunderlying.md): Low-level escape hatch that approves the wrapper contract to spend the underlying ERC-20.
- [useWrap](https://docs.zama.org/protocol/sdk/api-references/react/usewrap.md): Low-level escape hatch that wraps already-approved underlying ERC-20 into confidential tokens.
- [useUnshield](https://docs.zama.org/protocol/sdk/api-references/react/useunshield.md): Mutation hook that unshields confidential tokens back to public ERC-20.
- [useUnshieldAll](https://docs.zama.org/protocol/sdk/api-references/react/useunshieldall.md): Mutation hook that unshields the entire confidential balance.
- [useResumeUnshield](https://docs.zama.org/protocol/sdk/api-references/react/useresumeunshield.md): Mutation hook that resumes an unshield interrupted between unwrap and finalize steps.
- [usePendingUnshield](https://docs.zama.org/protocol/sdk/api-references/react/usependingunshield.md): Read the unwrap tx hash of an unshield interrupted between its two phases.
- [useUnwrap](https://docs.zama.org/protocol/sdk/api-references/react/useunwrap.md): Low-level mutation hook that requests an unwrap for a specific amount.
- [useUnwrapAll](https://docs.zama.org/protocol/sdk/api-references/react/useunwrapall.md): Low-level mutation hook that requests an unwrap for the full confidential balance.
- [useFinalizeUnwrap](https://docs.zama.org/protocol/sdk/api-references/react/usefinalizeunwrap.md): Low-level mutation hook that finalizes an unwrap with the decryption proof.
- [useGrantPermit](https://docs.zama.org/protocol/sdk/api-references/react/usegrantpermit.md): Mutation hook that signs an EIP-712 message authorizing decryption of confidential encrypted values for any contract.
- [usePreparePermit](https://docs.zama.org/protocol/sdk/api-references/react/usepreparepermit.md): Mutation hook that builds the unsigned EIP-712 typed data for a decryption permit, without signing it.
- [useRegisterPermit](https://docs.zama.org/protocol/sdk/api-references/react/useregisterpermit.md): Mutation hook that verifies and persists the signature an out-of-process signer produced for a prepared decryption permit.
- [useHasPermit](https://docs.zama.org/protocol/sdk/api-references/react/usehaspermit.md): Query hook that checks whether stored permits cover the requested contract addresses.
- [useRevokePermits](https://docs.zama.org/protocol/sdk/api-references/react/userevokepermits.md): Revoke FHE permits for specific contract addresses, or all permits at once.
- [useClearCredentials](https://docs.zama.org/protocol/sdk/api-references/react/useclearcredentials.md): Wipe the transport key pair and all permits for the connected wallet.
- [useConfidentialSetOperator](https://docs.zama.org/protocol/sdk/api-references/react/useconfidentialsetoperator.md): Approve an operator to act on your confidential tokens.
- [useConfidentialIsOperator](https://docs.zama.org/protocol/sdk/api-references/react/useconfidentialisoperator.md): Check if a spender is an approved operator for a holder's confidential tokens.
- [useUnderlyingAllowance](https://docs.zama.org/protocol/sdk/api-references/react/useunderlyingallowance.md): Read the ERC-20 allowance of the underlying public token for the wrapper contract.
- [useWrapperDiscovery](https://docs.zama.org/protocol/sdk/api-references/react/usewrapperdiscovery.md): Find the confidential wrapper contract address for an ERC-20 token via the on-chain registry.
- [useWrappersRegistryAddress](https://docs.zama.org/protocol/sdk/api-references/react/usewrappersregistryaddress.md): Resolve the wrappers registry contract address for the current chain.
- [useListPairs](https://docs.zama.org/protocol/sdk/api-references/react/uselistpairs.md): Fetch paginated token wrapper pairs from the on-chain registry, with optional metadata enrichment.
- [useTokenPairsRegistry](https://docs.zama.org/protocol/sdk/api-references/react/usetokenpairsregistry.md): Fetch all token wrapper pairs from the on-chain registry.
- [useTokenPairsLength](https://docs.zama.org/protocol/sdk/api-references/react/usetokenpairslength.md): Get the total number of token wrapper pairs in the registry.
- [useTokenPairsSlice](https://docs.zama.org/protocol/sdk/api-references/react/usetokenpairsslice.md): Fetch a range of token wrapper pairs from the registry by index.
- [useTokenPair](https://docs.zama.org/protocol/sdk/api-references/react/usetokenpair.md): Fetch a single token wrapper pair by index from the registry.
- [useConfidentialTokenAddress](https://docs.zama.org/protocol/sdk/api-references/react/useconfidentialtokenaddress.md): Look up the confidential token address for a given plain ERC-20 token.
- [useTokenAddress](https://docs.zama.org/protocol/sdk/api-references/react/usetokenaddress.md): Reverse lookup -- find the plain ERC-20 address for a given confidential token.
- [useIsConfidentialTokenValid](https://docs.zama.org/protocol/sdk/api-references/react/useisconfidentialtokenvalid.md): Check whether a confidential token is registered and valid in the on-chain registry.
- [useMetadata](https://docs.zama.org/protocol/sdk/api-references/react/usemetadata.md): Get token name, symbol, and decimals in one call.
- [useTotalSupply](https://docs.zama.org/protocol/sdk/api-references/react/usetotalsupply.md): Read the total supply of a token.
- [useZamaSDK](https://docs.zama.org/protocol/sdk/api-references/react/usezamasdk.md): Hook to access the raw ZamaSDK instance from ZamaProvider context.
- [useToken](https://docs.zama.org/protocol/sdk/api-references/react/usetoken.md): Hook returning a memoized Token instance for a given address.
- [useWrappedToken](https://docs.zama.org/protocol/sdk/api-references/react/usewrappedtoken.md): React hook returning a memoized WrappedToken instance.
- [useEncrypt](https://docs.zama.org/protocol/sdk/api-references/react/useencrypt.md): Low-level mutation hook that encrypts a plaintext value using the relayer's FHE engine.
- [useDecryptValues](https://docs.zama.org/protocol/sdk/api-references/react/usedecryptvalues.md): Query hook for FHE user decryption. Disabled by default — enable it to fire, and gate on a cached permit to avoid an unexpected wallet prompt.
- [useDecryptPublicValues](https://docs.zama.org/protocol/sdk/api-references/react/usedecryptpublicvalues.md): Mutation hook that decrypts publicly-decryptable FHE values using the network public key — no credential required.
- [useDelegateDecryption](https://docs.zama.org/protocol/sdk/api-references/react/usedelegatedecryption.md): Mutation hook that grants FHE decryption rights for a token to another address.
- [useDelegatedDecryptValues](https://docs.zama.org/protocol/sdk/api-references/react/usedelegateddecryptvalues.md): Mutation hook that decrypts FHE encrypted values using delegated user credentials.
- [useRevokeDelegation](https://docs.zama.org/protocol/sdk/api-references/react/userevokedelegation.md): Mutation hook that revokes FHE decryption delegation for a token.
- [useDelegationStatus](https://docs.zama.org/protocol/sdk/api-references/react/usedelegationstatus.md): Query hook that checks whether a decryption delegation is active between two addresses.
- [useDecryptBalanceAs](https://docs.zama.org/protocol/sdk/api-references/react/usedecryptbalanceas.md): Mutation hook that decrypts another user's confidential balance as a delegate.
- [useBatchDecryptBalancesAs](https://docs.zama.org/protocol/sdk/api-references/react/usebatchdecryptbalancesas.md): Mutation hook that decrypts confidential balances across multiple tokens as a delegate.
- [Query keys](https://docs.zama.org/protocol/sdk/api-references/react/query-keys.md): Reference for the zamaQueryKeys factory used for manual React Query cache control.
- [Architecture](https://docs.zama.org/protocol/sdk/concepts/architecture.md)
- [Permit model](https://docs.zama.org/protocol/sdk/concepts/permit-model.md): How EIP-712 signed permits authorize FHE decryption for specific contracts.
- [Security model](https://docs.zama.org/protocol/sdk/concepts/security-model.md): Threat model, trust assumptions, and security architecture of the Zama SDK.

* [Overview](https://docs.zama.org/protocol/sdk/beta/overview.md): TypeScript SDK for confidential smart contracts — shield, transfer, and unshield tokens with Fully Homomorphic Encryption.
* [Quick start](https://docs.zama.org/protocol/sdk/beta/getting-started/quick-start.md): Get from zero to a working confidential transfer in under 5 minutes.
* [First confidential dApp](https://docs.zama.org/protocol/sdk/beta/getting-started/first-confidential-dapp.md): End-to-end tutorial building a token dashboard with React, wagmi, and the Zama React SDK.
* [Wallet & exchange integration](https://docs.zama.org/protocol/sdk/beta/getting-started/wallet-exchange-integration.md): How wallets and exchanges support ERC-7984 confidential tokens with the Zama SDK — display balances, build transfers, manage operators, and wrap/unwrap between ERC-20 and confidential form.
* [Build with an LLM](https://docs.zama.org/protocol/sdk/beta/getting-started/build-with-an-llm.md): Give coding agents grounded Zama SDK context — install the Zama skills, or point agents without skill support at the SDK's llms.txt files.
* [Supported environments](https://docs.zama.org/protocol/sdk/beta/getting-started/supported-environments.md): Minimum browser and Node.js versions for the SDK.
* [Migrate from v2 to v3](https://docs.zama.org/protocol/sdk/beta/migration/migrate-v2-to-v3.md): Step-by-step guide to upgrade an app from @zama-fhe/sdk 2.x to 3.x — config factory, relayer factories, permits, operators, encrypt/decrypt glossary.
* [Release channels](https://docs.zama.org/protocol/sdk/beta/changelog/changelog.md): What stable, beta, and alpha mean for @zama-fhe/sdk, and where to find what changed in each.
* [Beta (unreleased)](https://docs.zama.org/protocol/sdk/beta/changelog/beta.md): Unreleased changes on the prerelease (beta) line — not yet in a stable release.
* [3.x (current)](https://docs.zama.org/protocol/sdk/beta/changelog/v3.md): Human-readable release notes for the 3.x line — what changed in each minor version of @zama-fhe/sdk and @zama-fhe/react-sdk, in plain language.
* [3.6.x](https://docs.zama.org/protocol/sdk/beta/changelog/v3/v3-6.md): Web Worker encryption offload, structured wallet-signing and permit-failure events, an interrupted-unshield resume fix, and orphaned relayer entries that warn instead of throwing.
* [3.5.x](https://docs.zama.org/protocol/sdk/beta/changelog/v3/v3-5.md): Polygon presets, offline signing and decryption permits, at-rest transport-key encryption, and automatic KMS-context recovery.
* [3.4.x](https://docs.zama.org/protocol/sdk/beta/changelog/v3/v3-4.md): An internal FHE backend migration to @fhevm/sdk, FHE runtime and client tuning knobs, shared transport key pairs for B2B2C, automatic decrypt-batch chunking, and a two-signature shield via wrap().
* [3.3.x](https://docs.zama.org/protocol/sdk/beta/changelog/v3/v3-3.md): confidentialTransferAndCall, automatic pending-unshield recovery, and typed decryption error causes.
* [3.2.x](https://docs.zama.org/protocol/sdk/beta/changelog/v3/v3-2.md): Configurable, silent-by-default logging; upgrade codemods; and a Wrap event decoding fix.
* [3.1.x](https://docs.zama.org/protocol/sdk/beta/changelog/v3/v3-1.md): createConfig, transport factories, the provider/signer split, the Token/WrappedToken hierarchy, and top-level FHE primitives.
* [3.0.x](https://docs.zama.org/protocol/sdk/beta/changelog/v3/v3-0.md): The first stable v3 line — the high-level clear-text-in, clear-text-out SDK — plus upgraded wrapper and registry contract support.
* [Legacy versions](https://docs.zama.org/protocol/sdk/beta/changelog/legacy.md): Release notes for the superseded 1.x and 2.x lines. The current, actively-maintained release line is 3.x.
* [2.x](https://docs.zama.org/protocol/sdk/beta/changelog/legacy/v2.md): Human-readable release notes for the 2.x line — delegated decryption, the wrappers registry, balance validation before transfers, and the public-decrypt primitive.
* [1.x](https://docs.zama.org/protocol/sdk/beta/changelog/legacy/v1.md): Human-readable release notes for the 1.x line — cleartext local development, session-scoped signing, wagmi v2 compatibility, and early production hardening.
* [Configuration](https://docs.zama.org/protocol/sdk/beta/guides/configuration.md): How to configure the SDK with createConfig — chains, relayers, provider, signer, and storage.
* [Authentication](https://docs.zama.org/protocol/sdk/beta/guides/authentication.md): How to authenticate with the relayer using a backend proxy or a direct API key.
* [Relayer API keys](https://docs.zama.org/protocol/sdk/beta/guides/relayer-api-keys.md): How to obtain, configure, and securely manage your Zama Relayer API key.
* [SDK usage telemetry](https://docs.zama.org/protocol/sdk/beta/guides/telemetry.md): What the SDK reports to the Zama-hosted relayer, when, and how to turn it off.
* [Shield tokens](https://docs.zama.org/protocol/sdk/beta/guides/shield-tokens.md): How to convert public ERC-20 tokens into their confidential form.
* [Transfer privately](https://docs.zama.org/protocol/sdk/beta/guides/transfer-privately.md): How to send confidential tokens so the amount stays hidden on-chain.
* [Unshield tokens](https://docs.zama.org/protocol/sdk/beta/guides/unshield-tokens.md): Convert confidential tokens back to public ERC-20 by unshielding them.
* [Check balances](https://docs.zama.org/protocol/sdk/beta/guides/check-balances.md): Decrypt and read confidential token balances using the SDK and React hooks.
* [Decrypt values from event logs](https://docs.zama.org/protocol/sdk/beta/guides/decrypt-from-event-logs.md): Decrypt an FHE encrypted value pulled straight off an event log — the common server-side pattern for indexers, wallet history, and bridges.
* [Handle errors](https://docs.zama.org/protocol/sdk/beta/guides/handle-errors.md): Catch, match, and recover from SDK errors in your application.
* [Node.js backend](https://docs.zama.org/protocol/sdk/beta/guides/node-js-backend.md): How to use the SDK in a Node.js server environment with per-request storage isolation.
* [Offline signing](https://docs.zama.org/protocol/sdk/beta/guides/offline.md): How to build unsigned transactions that are signed and broadcast out-of-process by a custody platform, HSM, or policy engine.
* [Web extensions](https://docs.zama.org/protocol/sdk/beta/guides/web-extensions.md): How to use the SDK in MV3 Chrome extensions with persistent permit storage.
* [Local development](https://docs.zama.org/protocol/sdk/beta/guides/local-development.md): How to use the cleartext relayer for local Hardhat nodes and custom chain deployments without a KMS or gateway.
* [Next.js SSR](https://docs.zama.org/protocol/sdk/beta/guides/nextjs-ssr.md): How to use the SDK with Next.js and server-side rendering frameworks.
* [Operator approvals](https://docs.zama.org/protocol/sdk/beta/guides/operator-approvals.md): How to approve another address to act on your confidential tokens.
* [Delegated decryption](https://docs.zama.org/protocol/sdk/beta/guides/delegated-decryption.md): Grant another address the right to decrypt confidential balances, then read those balances as a delegate.
* [Encrypt & decrypt](https://docs.zama.org/protocol/sdk/beta/guides/encrypt-decrypt.md): How to encrypt values and decrypt FHE encrypted values for custom confidential smart contracts that are not wrapped ERC-20 tokens.
* [Vault deposits and redemptions](https://docs.zama.org/protocol/sdk/beta/guides/vault-deposits.md): How to integrate confidential ERC-4626 vaults with the Zama SDK.
* [SDK reference](https://docs.zama.org/protocol/sdk/beta/api-references/sdk.md)
* [ZamaSDK](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/zamasdk.md): Entry point for all confidential contract operations.
* [Token](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/token.md): Read/write interface for an ERC-7984 confidential token — balances, transfers, operator approvals.
* [WrappedToken](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/wrappedtoken.md): ERC-7984 ERC-20 wrapper interface — shield, unshield, allowance.
* [WrappersRegistry](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/wrappersregistry.md): Query the on-chain token wrappers registry — list pairs, look up tokens, and validate confidential tokens.
* [Vault](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/vault.md): Confidential ERC-4626 vault interface — deposit and redeem through a pair of batchers.
* [VaultBatcher](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/vaultbatcher.md): One on-chain vault batcher — join, batch state, dispatch, claim, quit, recover.
* [web() transport](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/relayerweb.md): Browser relayer transport that runs FHE operations via bundled WASM.
* [node() transport](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/relayernode.md): Node.js relayer transport that runs FHE operations through @fhevm/sdk on the calling thread.
* [cleartext() transport](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/relayercleartext.md): Development relayer transport that operates in cleartext mode, without FHE, KMS, or gateway dependencies.
* [GenericProvider](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/genericprovider.md): Interface that all provider adapters must implement for chain reads and unsigned transaction preparation.
* [GenericSigner](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/genericsigner.md): Interface that all signer adapters must implement for the SDK to interact with wallets.
* [ViemProvider](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/viemprovider.md): Provider adapter that wraps a viem PublicClient for read-only chain access.
* [ViemSigner](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/viemsigner.md): Signer adapter that wraps a viem WalletClient for wallet operations.
* [EthersProvider](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/ethersprovider.md): Provider adapter that wraps an ethers Provider or EIP-1193 source for read-only chain access.
* [EthersSigner](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/etherssigner.md): Signer adapter that wraps an ethers Signer or EIP-1193 source for wallet operations.
* [GenericStorage](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/genericstorage.md): Interface for async key-value storage used to persist transport key pairs and signed permits.
* [Errors](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/errors.md): All SDK error classes, codes, and the matchZamaError utility.
* [Contract builders](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/contract-builders.md): Low-level builders that return raw contract call configs for viem, ethers, or custom execution layers.
* [Event decoders](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/event-decoders.md): Decode on-chain logs into typed event objects.
* [Delegations](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/delegation.md): On-chain delegation management — grant, revoke, and query decryption delegation rights via the ACL contract.
* [Offline](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/offline.md): Build unsigned transactions for out-of-process signing - the offline counterpart of the atomic Token methods.
* [Network presets](https://docs.zama.org/protocol/sdk/beta/api-references/sdk/network-presets.md): Pre-configured chain objects and legacy network configs for supported networks.
* [React reference](https://docs.zama.org/protocol/sdk/beta/api-references/react.md)
* [ZamaProvider](https://docs.zama.org/protocol/sdk/beta/api-references/react/zamaprovider.md): Context provider that supplies the Zama SDK to all descendant hooks.
* [useConfidentialBalance](https://docs.zama.org/protocol/sdk/beta/api-references/react/useconfidentialbalance.md): Decrypt a single token's confidential balance.
* [useConfidentialBalances](https://docs.zama.org/protocol/sdk/beta/api-references/react/useconfidentialbalances.md): Decrypt and poll multiple tokens' confidential balances in a single query.
* [useConfidentialTransfer](https://docs.zama.org/protocol/sdk/beta/api-references/react/useconfidentialtransfer.md): Send confidential ERC-20 tokens privately.
* [useConfidentialTransferFrom](https://docs.zama.org/protocol/sdk/beta/api-references/react/useconfidentialtransferfrom.md): Transfer confidential tokens on behalf of an owner who approved you as an operator.
* [useConfidentialTransferFromAndCall](https://docs.zama.org/protocol/sdk/beta/api-references/react/useconfidentialtransferfromandcall.md): Operator-initiated confidential transfer that also invokes the recipient's receiver hook in one transaction.
* [useShield](https://docs.zama.org/protocol/sdk/beta/api-references/react/useshield.md): Mutation hook that shields public ERC-20 tokens into confidential form.
* [useApproveUnderlying](https://docs.zama.org/protocol/sdk/beta/api-references/react/useapproveunderlying.md): Low-level escape hatch that approves the wrapper contract to spend the underlying ERC-20.
* [useWrap](https://docs.zama.org/protocol/sdk/beta/api-references/react/usewrap.md): Low-level escape hatch that wraps already-approved underlying ERC-20 into confidential tokens.
* [useUnshield](https://docs.zama.org/protocol/sdk/beta/api-references/react/useunshield.md): Mutation hook that unshields confidential tokens back to public ERC-20.
* [useUnshieldAll](https://docs.zama.org/protocol/sdk/beta/api-references/react/useunshieldall.md): Mutation hook that unshields the entire confidential balance.
* [useResumeUnshield](https://docs.zama.org/protocol/sdk/beta/api-references/react/useresumeunshield.md): Mutation hook that resumes an unshield interrupted between unwrap and finalize steps.
* [usePendingUnshield](https://docs.zama.org/protocol/sdk/beta/api-references/react/usependingunshield.md): Read the unwrap tx hash of an unshield interrupted between its two phases.
* [useUnwrap](https://docs.zama.org/protocol/sdk/beta/api-references/react/useunwrap.md): Low-level mutation hook that requests an unwrap for a specific amount.
* [useUnwrapAll](https://docs.zama.org/protocol/sdk/beta/api-references/react/useunwrapall.md): Low-level mutation hook that requests an unwrap for the full confidential balance.
* [useFinalizeUnwrap](https://docs.zama.org/protocol/sdk/beta/api-references/react/usefinalizeunwrap.md): Low-level mutation hook that finalizes an unwrap with the decryption proof.
* [useGrantPermit](https://docs.zama.org/protocol/sdk/beta/api-references/react/usegrantpermit.md): Mutation hook that signs an EIP-712 message authorizing decryption of confidential encrypted values for any contract.
* [usePreparePermit](https://docs.zama.org/protocol/sdk/beta/api-references/react/usepreparepermit.md): Mutation hook that builds the unsigned EIP-712 typed data for a decryption permit, without signing it.
* [useBatchPreparePermits](https://docs.zama.org/protocol/sdk/beta/api-references/react/usebatchpreparepermits.md): Mutation hook that builds unsigned EIP-712 typed data for decryption permits covering any number of contracts, one permit per 10.
* [useRegisterPermit](https://docs.zama.org/protocol/sdk/beta/api-references/react/useregisterpermit.md): Mutation hook that verifies and persists the signature an out-of-process signer produced for a prepared decryption permit.
* [useBatchRegisterPermits](https://docs.zama.org/protocol/sdk/beta/api-references/react/usebatchregisterpermits.md): Mutation hook that verifies and persists the signatures an out-of-process signer produced for a list of prepared decryption permits.
* [useHasPermit](https://docs.zama.org/protocol/sdk/beta/api-references/react/usehaspermit.md): Query hook that checks whether stored permits cover the requested contract addresses.
* [useRevokePermits](https://docs.zama.org/protocol/sdk/beta/api-references/react/userevokepermits.md): Revoke FHE permits for specific contract addresses, or all permits at once.
* [useClearCredentials](https://docs.zama.org/protocol/sdk/beta/api-references/react/useclearcredentials.md): Wipe the transport key pair and all permits for the connected wallet.
* [useConfidentialSetOperator](https://docs.zama.org/protocol/sdk/beta/api-references/react/useconfidentialsetoperator.md): Approve an operator to act on your confidential tokens.
* [useConfidentialIsOperator](https://docs.zama.org/protocol/sdk/beta/api-references/react/useconfidentialisoperator.md): Check if a spender is an approved operator for a holder's confidential tokens.
* [useUnderlyingAllowance](https://docs.zama.org/protocol/sdk/beta/api-references/react/useunderlyingallowance.md): Read the ERC-20 allowance of the underlying public token for the wrapper contract.
* [useWrapperDiscovery](https://docs.zama.org/protocol/sdk/beta/api-references/react/usewrapperdiscovery.md): Find the confidential wrapper contract address for an ERC-20 token via the on-chain registry.
* [useWrappersRegistryAddress](https://docs.zama.org/protocol/sdk/beta/api-references/react/usewrappersregistryaddress.md): Resolve the wrappers registry contract address for the current chain.
* [useListPairs](https://docs.zama.org/protocol/sdk/beta/api-references/react/uselistpairs.md): Fetch paginated token wrapper pairs from the on-chain registry, with optional metadata enrichment.
* [useTokenPairsRegistry](https://docs.zama.org/protocol/sdk/beta/api-references/react/usetokenpairsregistry.md): Fetch all token wrapper pairs from the on-chain registry.
* [useTokenPairsLength](https://docs.zama.org/protocol/sdk/beta/api-references/react/usetokenpairslength.md): Get the total number of token wrapper pairs in the registry.
* [useTokenPairsSlice](https://docs.zama.org/protocol/sdk/beta/api-references/react/usetokenpairsslice.md): Fetch a range of token wrapper pairs from the registry by index.
* [useTokenPair](https://docs.zama.org/protocol/sdk/beta/api-references/react/usetokenpair.md): Fetch a single token wrapper pair by index from the registry.
* [useConfidentialTokenAddress](https://docs.zama.org/protocol/sdk/beta/api-references/react/useconfidentialtokenaddress.md): Look up the confidential token address for a given plain ERC-20 token.
* [useTokenAddress](https://docs.zama.org/protocol/sdk/beta/api-references/react/usetokenaddress.md): Reverse lookup -- find the plain ERC-20 address for a given confidential token.
* [useIsConfidentialTokenValid](https://docs.zama.org/protocol/sdk/beta/api-references/react/useisconfidentialtokenvalid.md): Check whether a confidential token is registered and valid in the on-chain registry.
* [useMetadata](https://docs.zama.org/protocol/sdk/beta/api-references/react/usemetadata.md): Get token name, symbol, and decimals in one call.
* [useTotalSupply](https://docs.zama.org/protocol/sdk/beta/api-references/react/usetotalsupply.md): Read the total supply of a token.
* [useZamaSDK](https://docs.zama.org/protocol/sdk/beta/api-references/react/usezamasdk.md): Hook to access the raw ZamaSDK instance from ZamaProvider context.
* [useToken](https://docs.zama.org/protocol/sdk/beta/api-references/react/usetoken.md): Hook returning a memoized Token instance for a given address.
* [useWrappedToken](https://docs.zama.org/protocol/sdk/beta/api-references/react/usewrappedtoken.md): React hook returning a memoized WrappedToken instance.
* [useEncrypt](https://docs.zama.org/protocol/sdk/beta/api-references/react/useencrypt.md): Low-level mutation hook that encrypts a plaintext value using the relayer's FHE engine.
* [useDecryptValues](https://docs.zama.org/protocol/sdk/beta/api-references/react/usedecryptvalues.md): Query hook for FHE user decryption. Disabled by default — enable it to fire, and gate on a cached permit to avoid an unexpected wallet prompt.
* [useDecryptPublicValues](https://docs.zama.org/protocol/sdk/beta/api-references/react/usedecryptpublicvalues.md): Mutation hook that decrypts publicly-decryptable FHE values using the network public key — no credential required.
* [useDelegateDecryption](https://docs.zama.org/protocol/sdk/beta/api-references/react/usedelegatedecryption.md): Mutation hook that grants FHE decryption rights for a token to another address.
* [useDelegatedDecryptValues](https://docs.zama.org/protocol/sdk/beta/api-references/react/usedelegateddecryptvalues.md): Mutation hook that decrypts FHE encrypted values using delegated user credentials.
* [useRevokeDelegation](https://docs.zama.org/protocol/sdk/beta/api-references/react/userevokedelegation.md): Mutation hook that revokes FHE decryption delegation for a token.
* [useDelegationStatus](https://docs.zama.org/protocol/sdk/beta/api-references/react/usedelegationstatus.md): Query hook that checks whether a decryption delegation is active between two addresses.
* [useDecryptBalanceAs](https://docs.zama.org/protocol/sdk/beta/api-references/react/usedecryptbalanceas.md): Mutation hook that decrypts another user's confidential balance as a delegate.
* [useBatchDecryptBalancesAs](https://docs.zama.org/protocol/sdk/beta/api-references/react/usebatchdecryptbalancesas.md): Mutation hook that decrypts confidential balances across multiple tokens as a delegate.
* [useVault](https://docs.zama.org/protocol/sdk/beta/api-references/react/usevault.md): React hook returning a memoized Vault instance for a deposit/redeem batcher pair.
* [useVaultBatcher](https://docs.zama.org/protocol/sdk/beta/api-references/react/usevaultbatcher.md): React hook returning a memoized VaultBatcher instance for one batcher contract.
* [useDeposit](https://docs.zama.org/protocol/sdk/beta/api-references/react/usedeposit.md): Mutation hook that deposits into a confidential ERC-4626 vault by joining the current deposit batch.
* [useRedeem](https://docs.zama.org/protocol/sdk/beta/api-references/react/useredeem.md): Mutation hook that redeems confidential vault shares by joining the current redeem batch.
* [useJoin](https://docs.zama.org/protocol/sdk/beta/api-references/react/usejoin.md): Low-level mutation hook that joins a single vault batcher's open batch directly.
* [useClaim](https://docs.zama.org/protocol/sdk/beta/api-references/react/useclaim.md): Mutation hook that claims a finalized vault batch's output for an account.
* [useQuit](https://docs.zama.org/protocol/sdk/beta/api-references/react/usequit.md): Mutation hook that withdraws the caller's own deposit from a pending or canceled vault batch.
* [useRecover](https://docs.zama.org/protocol/sdk/beta/api-references/react/userecover.md): Mutation hook that refunds a depositor's deposit from a canceled vault batch on their behalf.
* [useDispatchBatch](https://docs.zama.org/protocol/sdk/beta/api-references/react/usedispatchbatch.md): Mutation hook that dispatches a vault batcher's current batch once it is old enough.
* [useCurrentBatchId](https://docs.zama.org/protocol/sdk/beta/api-references/react/usecurrentbatchid.md): Query hook for the id of a vault batcher's currently open batch.
* [useBatchState](https://docs.zama.org/protocol/sdk/beta/api-references/react/usebatchstate.md): Query hook for a vault batch's lifecycle state, which decides what the user can do next.
* [useTimeUntilDispatchable](https://docs.zama.org/protocol/sdk/beta/api-references/react/usetimeuntildispatchable.md): Query hook for the seconds until a vault batch becomes eligible for dispatch.
* [Query keys](https://docs.zama.org/protocol/sdk/beta/api-references/react/query-keys.md): Reference for the zamaQueryKeys factory used for manual React Query cache control.
* [Architecture](https://docs.zama.org/protocol/sdk/beta/concepts/architecture.md)
* [Permit model](https://docs.zama.org/protocol/sdk/beta/concepts/permit-model.md): How EIP-712 signed permits authorize FHE decryption for specific contracts.
* [Security model](https://docs.zama.org/protocol/sdk/beta/concepts/security-model.md): Threat model, trust assumptions, and security architecture of the Zama SDK.

## Code Examples

- [FHE counter](https://docs.zama.org/protocol/examples/basic/fhe-counter.md)
- [FHE Operations](https://docs.zama.org/protocol/examples/basic/fhe-operations.md)
- [Add](https://docs.zama.org/protocol/examples/basic/fhe-operations/fheadd.md)
- [If then else](https://docs.zama.org/protocol/examples/basic/fhe-operations/fheifthenelse.md)
- [Encryption](https://docs.zama.org/protocol/examples/basic/encryption.md)
- [Encrypt single value](https://docs.zama.org/protocol/examples/basic/encryption/fhe-encrypt-single-value.md)
- [Encrypt multiple values](https://docs.zama.org/protocol/examples/basic/encryption/fhe-encrypt-multiple-values.md)
- [Decryption](https://docs.zama.org/protocol/examples/basic/decryption.md)
- [User decrypt single value](https://docs.zama.org/protocol/examples/basic/decryption/fhe-user-decrypt-single-value.md)
- [User decrypt multiple values](https://docs.zama.org/protocol/examples/basic/decryption/fhe-user-decrypt-multiple-values.md)
- [Public Decrypt single value](https://docs.zama.org/protocol/examples/basic/decryption/heads-or-tails.md)
- [Public Decrypt multiple values](https://docs.zama.org/protocol/examples/basic/decryption/highest-die-roll.md)
- [Library installation and overview](https://docs.zama.org/protocol/examples/openzeppelin-confidential-contracts/openzeppelin.md)
- [ERC7984 Standard](https://docs.zama.org/protocol/examples/openzeppelin-confidential-contracts/erc7984.md)
- [ERC-20 to Wrapped ERC-7984](https://docs.zama.org/protocol/examples/openzeppelin-confidential-contracts/erc7984/erc7984erc20wrappermock.md)
- [Swap ERC7984 to ERC20](https://docs.zama.org/protocol/examples/openzeppelin-confidential-contracts/erc7984/swaperc7984toerc20.md)
- [Vesting Wallet](https://docs.zama.org/protocol/examples/openzeppelin-confidential-contracts/vesting-wallet.md)
- [Sealed-Bid Auction](https://docs.zama.org/protocol/examples/auctions/sealed-bid-auction.md)
- [Tutorial](https://docs.zama.org/protocol/examples/auctions/sealed-bid-auction/sealed-bid-auction-tutorial.md)

## Confidential Vault

- [Overview](https://docs.zama.org/protocol/confidential-vault/readme.md): Hold a position in a public ERC-4626 vault while the amount stays encrypted, powered by Zama FHEVM.
- [Getting Started](https://docs.zama.org/protocol/confidential-vault/getting-started.md): Make your first confidential vault deposit on Sepolia, from an empty folder to a decrypted position.
- [Overview](https://docs.zama.org/protocol/confidential-vault/use-the-app/app.md): How to deposit into, withdraw from, and move between confidential vaults in the Zama app.
- [Deposit into a vault](https://docs.zama.org/protocol/confidential-vault/use-the-app/deposit.md): Deposit USDC or confidential USDC into a vault through the Zama app.
- [Withdraw from a vault](https://docs.zama.org/protocol/confidential-vault/use-the-app/withdraw.md): Withdraw from a vault in a confidential batch, or instantly in public.
- [Move to another vault](https://docs.zama.org/protocol/confidential-vault/use-the-app/move-vaults.md): Withdraw from one vault and deposit into another the same day, confidentially.
- [Track or cancel a batch](https://docs.zama.org/protocol/confidential-vault/use-the-app/batches.md): Follow your queued deposits and withdrawals, and cancel one before its cutoff.
- [Batch schedule](https://docs.zama.org/protocol/confidential-vault/use-the-app/schedule.md): When deposit and withdrawal batches settle on Ethereum mainnet.
- [What stays private](https://docs.zama.org/protocol/confidential-vault/use-the-app/privacy.md): What an observer can and cannot learn about your vault position.
- [Incentives](https://docs.zama.org/protocol/confidential-vault/use-the-app/incentives.md): The two incentive programs and how they show up in your APY.
- [Architecture](https://docs.zama.org/protocol/confidential-vault/concepts/architecture.md): How confidential token wrappers, vault batchers, and public ERC-4626 vaults fit together.
- [Batch Lifecycle](https://docs.zama.org/protocol/confidential-vault/concepts/batch-lifecycle.md): The four batch states, what triggers each transition, and what users can do in each state.
- [Confidentiality](https://docs.zama.org/protocol/confidential-vault/concepts/confidentiality.md): What an observer can and cannot see, what batching guarantees, and the known limits.
- [Trust Model](https://docs.zama.org/protocol/confidential-vault/concepts/trust-model.md): Who can do what — permissionless operations, owner powers, and self-serve recovery.
- [Multi-Vault Router](https://docs.zama.org/protocol/confidential-vault/concepts/multi-vault-router.md): How one transaction joins several vault batchers, with encrypted-zero legs hiding which vault received the money.
- [Deposit into a Vault](https://docs.zama.org/protocol/confidential-vault/guides/deposit.md): Integrate the confidential deposit flow — shield USDC, join a deposit batch, and claim confidential shares.
- [Withdraw from a Vault](https://docs.zama.org/protocol/confidential-vault/guides/withdraw.md): Integrate both withdrawal paths — the confidential batched redemption and the instant public unshield.
- [Read Confidential Balances](https://docs.zama.org/protocol/confidential-vault/guides/read-balances.md): Read encrypted balance handles and decrypt them client-side with a permit the SDK manages for you.
- [Track Batch State](https://docs.zama.org/protocol/confidential-vault/guides/track-batches.md): Read batch status, compute readiness times, index lifecycle events, and self-finalize when needed.
- [Contract Addresses](https://docs.zama.org/protocol/confidential-vault/reference/addresses.md): Deployed contract addresses on Ethereum mainnet and Sepolia.
- [Batcher Interface](https://docs.zama.org/protocol/confidential-vault/reference/batcher-interface.md): Every function, event, and error on the deposit and redeem batchers.
- [Router Interface](https://docs.zama.org/protocol/confidential-vault/reference/router-interface.md): The Allocation struct, the push and pull entry points, the errors, and the leg ceilings.

## Confidential Swap

- [Overview](https://docs.zama.org/protocol/confidential-swap/readme.md): Confidential Swaps is an on-chain RFQ protocol where the trade you submit — size, price, and direction — stays encrypted end to end.
- [Make your first swap](https://docs.zama.org/protocol/confidential-swap/guides/first-swap.md): Make your first confidential swap from the web app, from connecting a wallet to reclaiming funds if nothing fills.
- [Create an intent](https://docs.zama.org/protocol/confidential-swap/guides/create-an-intent.md): Submit a confidential swap intent directly against the contract, using the Zama SDK to encrypt amounts, the real index, and your slippage floor.
- [Market makers](https://docs.zama.org/protocol/confidential-swap/guides/market-makers.md): Run a market-making agent that prices every candidate in a bundle, quotes blind, and settles the intents it wins.
- [Architecture](https://docs.zama.org/protocol/confidential-swap/protocol/architecture.md): The actors, contracts, and trust model behind Confidential Swaps — and what the protocol does and does not guarantee.
- [How it works](https://docs.zama.org/protocol/confidential-swap/protocol/how-it-works.md): The intent lifecycle from creation through quoting, resolution, settlement, and reclaim.
- [Decoy bundles](https://docs.zama.org/protocol/confidential-swap/protocol/decoy-bundles.md): How a bundle of candidate orders hides which one is real, and how the winning market maker learns it without anyone else finding out.
- [What stays confidential](https://docs.zama.org/protocol/confidential-swap/protocol/confidentiality.md): A field-by-field breakdown of what the protocol hides, what it publishes by design, and what it cannot protect you from.
- [Protecting your privacy](https://docs.zama.org/protocol/confidential-swap/protocol/privacy.md): The habits — funding, timing, and post-trade behavior — that keep a confidential swap actually private.
- [Fees and the slippage floor](https://docs.zama.org/protocol/confidential-swap/protocol/fees.md): How the protocol fee is computed, why it is taken after your slippage floor is checked, and how to convert a net floor to a gross one.
- [Contract addresses](https://docs.zama.org/protocol/confidential-swap/reference/addresses.md): The ConfidentialSwap proxy address per network, and how to read pairs, fees, and the market-maker set from chain.
- [Contract interface](https://docs.zama.org/protocol/confidential-swap/reference/contract-interface.md): Every entry point a maker or market maker calls on the ConfidentialSwap proxy, who can call it, and when.
- [Events and errors](https://docs.zama.org/protocol/confidential-swap/reference/events-and-errors.md): The intent lifecycle events and the reverts worth handling when integrating with Confidential Swap.

## Changelog

- [Zama Protocol Change Log](https://docs.zama.org/protocol/changelog/zama-protocol-change-log.md): This page tracks upcoming and ongoing milestones for the Zama Protocol and related releases. It updates as new versions are planned and deployed.

## MiCA

- [MiCA](https://docs.zama.org/protocol/mica/mica.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://docs.zama.org/protocol/readme.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
