# Fhenix Documentation > Documentation for Fhenix products: CoFHE and the Wallet Module. - [Fhenix Developer Docs](https://cofhe-docs.fhenix.zone/index.md): Guides, references, and tutorials for every Fhenix product. - [Overview](https://cofhe-docs.fhenix.zone/cofhe/index.md): Welcome to Fhenix Documentation - Build privacy-preserving smart contracts with Fully Homomorphic Encryption - [Fhenix](https://cofhe-docs.fhenix.zone/cofhe/get-started/introduction/fhenix.md): The missing infrastructure for Confidential DeFi - [What is CoFHE?](https://cofhe-docs.fhenix.zone/cofhe/get-started/introduction/what-is-cofhe.md): A high-level introduction to CoFHE, Fhenix's Fully Homomorphic Encryption coprocessor - [Compatibility](https://cofhe-docs.fhenix.zone/cofhe/get-started/introduction/compatibility.md): Which package versions, toolchains, and networks work together - [Support & Feedback](https://cofhe-docs.fhenix.zone/cofhe/get-started/introduction/support-and-feedback.md): Get help, report issues, and provide feedback for the CoFHE project - [Overview](https://cofhe-docs.fhenix.zone/cofhe/get-started/build-with-ai/build-with-ai.md): Learn how to use AI coding assistants effectively when building with Fhenix - [Fhenix Toolkit for Claude Code](https://cofhe-docs.fhenix.zone/cofhe/get-started/build-with-ai/ai-assistant.md): Install the fhenix-toolkit plugin so Claude Code writes, tests, and reviews CoFHE code against the current FHE.sol and @cofhe/sdk - [Overview](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/introduction/overview.md): Introduction to @cofhe/sdk - the TypeScript client SDK for building FHE-enabled applications on Fhenix - [Mental Model](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/introduction/mental-model.md): Understand how data flows through FHE-enabled dApps using the @cofhe/sdk - [Installation](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/introduction/installation.md): Install and configure @cofhe/sdk for your project - [Migrating to 0.7](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/introduction/migrating-to-0-7.md): Upgrade from 0.6 to 0.7 or later: batch inputs, ACPs, and the new encrypted types - [Migrating from cofhejs](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/introduction/migrating-from-cofhejs.md): Side-by-side migration guide from cofhejs to @cofhe/sdk - [Quick Start: JavaScript](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/quick-start/javascript.md): Get started with @cofhe/sdk in a browser or Node.js app - [Quick Start: Hardhat](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/quick-start/hardhat.md): Set up a Hardhat project with @cofhe/sdk, write a contract, and test the encrypt to store to decrypt flow - [Quick Start: Foundry](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/quick-start/foundry.md): Set up a Foundry project with @cofhe/foundry-plugin, write a contract, and test the encrypt to store to decrypt flow - [Quick Start: React](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/quick-start/react.md): Get started with @cofhe/sdk in a React application - [Client Setup](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/guides/client-setup.md): Configure and connect the @cofhe/sdk client with viem, Ethers, or wagmi - [Encrypting Inputs](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/guides/encrypting-inputs.md): Encrypt plaintext values with a batch ZK proof for use in FHE-enabled smart contracts - [Writing Encrypted Data to Contract](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/guides/writing-encrypted-data.md): Encrypt plaintext values and pass them directly into a contract call - [Access Control Permissions (ACP)](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/guides/acps.md): Create and manage the EIP-712 signatures that authorize decryption - [Decrypt to View](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/guides/decrypt-to-view.md): Reveal encrypted values locally for UI display using ACPs - [Decrypt to Transact](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/guides/decrypt-to-tx.md): Decrypt with a verifiable Teecryptor signature for onchain use - [Writing Decrypt Result to Contract](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/guides/writing-decrypt-result.md): Submit a decryptForTx result onchain for verification or publishing - [Error Handling](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/guides/error-handling.md): Handle errors from @cofhe/sdk operations using typed CofheError objects - [Getting Started](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/hardhat-plugin/getting-started.md): Set up @cofhe/hardhat-plugin for local FHE contract development and testing - [Client](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/hardhat-plugin/client.md): Create and connect a CofheClient in Hardhat tests - [Mock Contracts](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/hardhat-plugin/mock-contracts.md): Interact with mock CoFHE contracts and read plaintext values in tests - [Logging](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/hardhat-plugin/logging.md): Inspect FHE operations in your Hardhat test output - [Testing](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/hardhat-plugin/testing.md): Common patterns for writing Hardhat tests with the CoFHE plugin - [Getting Started](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/hardhat-3-plugin/getting-started.md): Install and configure @cofhe/hardhat-3-plugin for local FHE contract development with Hardhat 3 - [Client](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/hardhat-3-plugin/client.md): Create and connect a CofheClient in a Hardhat 3 test - [Mock Contracts](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/hardhat-3-plugin/mock-contracts.md): Read plaintext values and call the CoFHE mock contracts in Hardhat 3 tests - [Logging](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/hardhat-3-plugin/logging.md): Print the FHE operations your contracts perform in Hardhat 3 test output - [Testing](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/hardhat-3-plugin/testing.md): A complete Hardhat 3 test for an FHE contract, and the patterns around it - [Getting Started](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/foundry-plugin/getting-started.md): Set up @cofhe/foundry-plugin for local FHE contract development and testing under Forge - [CofheTest](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/foundry-plugin/cofhe-test.md): The CofheTest abstract base contract: deploys CoFHE mocks and exposes plaintext assertions - [CofheClient](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/foundry-plugin/cofhe-client.md): The in-Solidity SDK shim: one client per user, produces encrypted inputs and signed ACPs - [Testing](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/foundry-plugin/testing.md): Canonical test-writing patterns for FHE contracts under Foundry - [End-to-End Example](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/examples/end-to-end.md): A complete encrypt to store to decrypt flow using @cofhe/sdk - [Templates & Starters](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/examples/templates.md): Ready-to-use project templates for building with @cofhe/sdk - [SDK Reference](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/reference/sdk-reference.md): Complete API reference for @cofhe/sdk - [Hardhat Plugin Reference](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/reference/hardhat-reference.md): Complete API reference for @cofhe/hardhat-plugin - [Foundry Plugin Reference](https://cofhe-docs.fhenix.zone/cofhe/client-sdk/reference/foundry-reference.md): Complete API reference for @cofhe/foundry-plugin - [Overview](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/introduction/overview.md): A Solidity framework for secure, private computation on encrypted data within smart contracts - [Quick Start](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/introduction/quick-start.md): Set up your local development environment for building FHE smart contracts with CoFHE - [Best Practices](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/introduction/best-practices.md): Key best practices for developing secure and efficient FHE smart contracts with CoFHE - [Inputs](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/inputs.md): Learn how to handle encrypted user inputs in confidential smart contracts - [Handles, wrap, and unwrap](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/handles.md): What a ciphertext handle is, and what wrapping one does and does not give you - [Trivial Encryption](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/trivial-encryption.md): Understanding the difference between trivially encrypted numbers and encrypted inputs - [Data Evaluation](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/data-evaluation.md): How FHE operations reach CoFHE's offchain engine, and how encrypted values are represented in your contract. - [FHE Encrypted Operations](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/encrypted-operations.md): Complete guide to FHE types and operations for confidential smart contracts - [Conditions (if .. else)](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/conditions.md): Understanding why if..else isn't possible with FHE and exploring the alternatives - [Require](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/require.md): Understanding require statements with encrypted data in FHE - [Access Control](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/access-control.md): Understanding and managing permissions for encrypted data in confidential smart contracts - [Decryption Operations](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/decryption-operations.md): Understanding how to decrypt encrypted data in FHE smart contracts - [Randomness](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/randomness.md): Generating encrypted random values in confidential smart contracts - [Gas Costs and Benchmarks](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/gas-and-benchmarks.md): The gas an FHE operation and a confidential transfer take, and where to find operation latency benchmarks - [Common Errors](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/core-concepts/common-errors.md): Critical limitations and important considerations when working with CoFHE, including common issues and Solidity error references - [Overview](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/overview.md): What the fhenix-confidential-contracts package provides, which token to build on, and how to install and link it - [Call a token from your contract](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/calling-from-contracts.md): Move confidential tokens from another contract by sharing encrypted amounts with the token and receiving what it returns - [Upgradeable tokens](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/upgradeable.md): Deploy FHERC20, the wrappers, and ERC20Confidential behind a proxy, and upgrade them safely - [Overview](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/fherc20/overview.md): How an FHERC20 token stores encrypted balances, what stays public, and how to mint, burn, and read balances - [Transfers and disclosure](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/fherc20/core-features.md): Send FHERC20 tokens from a wallet or a contract, read what moved, and make an encrypted amount public - [Operators](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/fherc20/operators.md): Let another account or contract move FHERC20 tokens for a holder until a deadline - [Transfer callbacks](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/fherc20/transfer-callbacks.md): Send FHERC20 tokens to a contract and let it accept or refund them in the same transaction - [Wrap ERC-20 tokens and ETH](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/fherc20/fherc20-wrapper.md): Shield an existing ERC-20 or ETH into an FHERC20 token, and unshield it back with a decrypted claim - [FHERC20 best practices](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/fherc20/best-practices.md): Checks to make when you build on, integrate with, or deploy an FHERC20 token - [Overview](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/dual-mode/overview.md): A public ERC-20 token with an encrypted balance next to it, in one contract - [How the two balances relate](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/dual-mode/dual-balance-model.md): The pool that backs ERC20Confidential's encrypted balances, how total supply is counted, and the indicator token - [Shield and unshield](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/dual-mode/shield-unshield.md): Move ERC20Confidential tokens from the public balance into the encrypted one and back - [Confidential transfers and operators](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/dual-mode/confidential-operations.md): How encrypted transfers and operators work on ERC20Confidential, and where they differ from FHERC20 - [Extend ERC20Confidential](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/dual-mode/extending.md): Freeze accounts, add a compliance observer, mint confidentially, auto-shield mints, or add the confidential layer to your own ERC-20 - [ERC20Confidential best practices](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/confidential-contracts/dual-mode/best-practices.md): What to check before you ship a token built on ERC20Confidential - [Encrypted Auction Example](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/examples/auction-example.md): A complete example of building a confidential auction system using FHE - [FHE.sol Overview](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/fhe-sol/overview.md): Encrypted data types, imports, and general usage of the FHE Solidity library - [Type Conversion](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/fhe-sol/type-conversion.md): Convert between plaintext, encrypted input structs, and encrypted types - [Arithmetic Operations](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/fhe-sol/arithmetic.md): add, sub, mul, div, rem, and square: encrypted math operations - [Bitwise Operations](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/fhe-sol/bitwise.md): and, or, xor, not, shl, shr, rol, ror: encrypted bitwise operations - [Comparison Operations](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/fhe-sol/comparison.md): eq, ne, lt, lte, gt, gte, min, max: encrypted comparison and selection - [Decryption](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/fhe-sol/decryption.md): publishDecryptResult, verifyDecryptResult, getDecryptResult: onchain decryption result handling - [Access Control](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/fhe-sol/access-control.md): allow, allowPublic, allowThis, allowSender, allowTransient, isAllowed, isPubliclyAllowed: grant and check access to encrypted values - [Utility Functions](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/fhe-sol/utility.md): isInitialized, unwrap, wrap: handle inspection and conversion utilities - [Bindings (Dot Notation)](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/fhe-sol/bindings.md): Use encrypted types with dot notation instead of FHE.* prefix - [Gas per Operation](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/gas-costs.md): The expected gas of every FHE.sol operation - [CoFHE Errors Package](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/cofhe-errors.md): Decode 'execution reverted' selectors from CoFHE contracts into error names and signatures with @fhenixprotocol/cofhe-errors - [Error Reference](https://cofhe-docs.fhenix.zone/cofhe/fhe-library/reference/cofhe-errors-reference.md): Every custom error the live CoFHE contracts and the FHE library can raise, with selector, signature, and meaning - [CoFHE Tutorials Overview](https://cofhe-docs.fhenix.zone/cofhe/tutorials/overview.md): An index of the CoFHE tutorials: build, extend, and migrate FHE smart contracts step by step - [Migrating from FHE.decrypt to the New Decryption Flow](https://cofhe-docs.fhenix.zone/cofhe/tutorials/migrating-from-fhe-decrypt.md): Step-by-step guide for migrating Solidity contracts from FHE.decrypt to the new allowPublic + publishDecryptResult pattern - [Your First FHE Contract](https://cofhe-docs.fhenix.zone/cofhe/tutorials/your-first-fhe-contract.md): Step-by-step tutorial for building your first FHE-enabled smart contract from scratch - [Adding FHE to an Existing Contract](https://cofhe-docs.fhenix.zone/cofhe/tutorials/adding-fhe-to-existing-contract.md): Step-by-step guide for integrating FHE capabilities into contracts you've already built - [ACL Usage Examples](https://cofhe-docs.fhenix.zone/cofhe/tutorials/acl-usage-examples.md): Practical examples of using Access Control Lists (ACL) to manage permissions for encrypted data - [CoFHE Architecture Overview](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/cofhe-components/overview.md): How CoFHE's onchain contracts and offchain components fit together to run FHE computations for any EVM chain - [TaskManager](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/cofhe-components/task-manager.md): Onchain entry point for CoFHE integration that initiates FHE operations, generates unique handles, and verifies decrypt result signatures - [ACL (Access Control Layer)](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/cofhe-components/acl.md): Onchain contract that manages and enforces access control for ciphertexts, ensuring only authorized contracts and accounts can reference or decrypt them - [PlaintextsStorage](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/cofhe-components/plaintext-storage.md): Host-chain contract that stores published decryption results so contracts can read them synchronously - [CommitmentRegistry](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/cofhe-components/commitment-registry.md): Registry-chain contract that records FHE computation commitments. Teecryptor verifies ciphertext integrity against it before decrypting. - [Verify a commitment](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/cofhe-components/verify-commitments.md): Recompute a CoFHE ciphertext from public inputs and check your result against the commitment recorded onchain. - [ZK Verifier](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/cofhe-components/zk-verifier.md): Offchain component that verifies user inputs using Zero-Knowledge Proofs of Knowledge (ZKPoK) to ensure encrypted data is safe to use in smart contracts - [Compute Pipeline](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/cofhe-components/compute-pipeline.md): The offchain components that carry an FHE task from onchain event to committed result - [Teecryptor](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/cofhe-components/teecryptor.md): Offchain decryption component that decrypts CoFHE ciphertexts inside a hardware-attested Trusted Execution Environment (TEE) - [Key Management](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/cofhe-components/key-management.md): How CoFHE's keys are created in an attested ceremony, split among independent partners, and read back by Teecryptor and the ZK Verifier at boot - [Encryption Request Flow](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/data-flows/encryption-request-flow.md): How a plaintext becomes a verified encrypted input: local encryption, ZK proof, verification, and onchain use - [FHE Operation Request Flow](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/data-flows/fhe-operation-request-flow.md): How an FHE operation travels from a smart contract call through the coprocessor to an onchain commitment - [Decryption Flow](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/data-flows/decryption-request-flow.md): How CoFHE values get decrypted: decryptForTx with onchain publication, decryptForView with sealed output - [Future Plans](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/research/future-plans.md): Roadmap for CoFHE decentralization, upcoming features, and planned improvements - [Research in Fhenix](https://cofhe-docs.fhenix.zone/cofhe/deep-dive/research/research-in-fhenix.md): Research into novel cryptographic techniques and optimization of Fully Homomorphic Encryption for blockchain applications - [Wallet Module](https://cofhe-docs.fhenix.zone/wallet/index.md): Documentation for the Fhenix Wallet Module is coming soon. - [Trading](https://cofhe-docs.fhenix.zone/trading/index.md): Trade confidential tokens at a public price, with hidden size. - [Litepaper](https://cofhe-docs.fhenix.zone/litepaper/index.md): A comprehensive overview of Fhenix: the privacy problem, the FHE solution, CoFHE's architecture, use cases, and the FIX economic model. ## Optional - [Website](https://www.fhenix.io/) - [Blog](https://www.fhenix.io/blog) - [Github](https://github.com/FhenixProtocol/cofhesdk) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.