The OpenZeppelin Relayer now supports Zama FHEVM, bringing transaction infrastructure to confidential smart contract applications.
OpenZeppelin and Zama have been building privacy-preserving standards together since the launch of the Confidential Contracts Library: audited Solidity contracts built on Zama's FHEVM, including a confidential ERC20 implementation, vesting, and voting contracts, designed to serve use cases across confidential DeFi and institutional finance. That work extended to the Confidential Token Association, co-founded by Zama, OpenZeppelin and Inco, to develop the Confidential Token Standard: a framework for bringing confidentiality to token standards like ERC20.
With Relayer support, developers can now manage transactions with encrypted inputs without building the backend themselves.
Zama FHEVM lets EVM smart contracts store and operate on encrypted data, giving developers private onchain state without a new chain or execution environment. FHEVM contracts behave like any other EVM contract. And like any other EVM contract, running one in production requires backend infrastructure for signing, transaction submission, and key security.
Specifically, the Zama SDK requires a signing service that can submit transactions with encrypted inputs and sign EIP-712 typed-data payloads to authorize user decryption requests. Around that, the backend has to manage gas, nonces, retries, and the security of the keys themselves.
Because FHEVM contracts live on standard EVM networks, the OpenZeppelin Relayer supports them out of the box, configured exactly like any other EVM relayer, with no FHEVM-specific setup. It covers the two things FHEVM apps need from a backend:
Plus the operational layer FHEVM applications need in production:
FHE stays in Zama's SDK while the OpenZeppelin Relayer executes.
The OpenZeppelin Relayer SDK ships a working example built on Zama's fhevm-hardhat-template. It’s a simple counter contract whose state is held in encrypted form. The example walks through a complete integration flow with a deployed FHEVM contract:
Beyond the core flow, the example also includes environment-driven configuration with Sepolia as the default and mainnet documented for production, along with a reusable keypair utility. It is the shortest path to understanding how the OpenZeppelin Relayer fits into an FHEVM application.
The signing infrastructure FHEVM applications need is now available out of the box. Point the Zama SDK at the OpenZeppelin Relayer and get production-grade transaction signing infrastructure without assembling it yourself.
See the end-to-end example to get started, or read the full documentation.
Zama FHEVM is a coprocessor architecture that allows EVM smart contracts to store and compute over encrypted data using Fully Homomorphic Encryption. FHEVM contracts behave like any other EVM contract, with values remaining encrypted throughout execution to keep the onchain state private.
It handles two things the Zama SDK requires from a backend: submitting transactions with encrypted inputs via sendTransaction, and signing EIP-712 typed-data payloads via signTypedData to authorize user decryption requests. Gas, nonces, retries, and transaction tracking are all handled automatically.
No, all FHE-specific work, including encryption, decryption, and key handling, stays in the Zama SDK running in your application. The OpenZeppelin Relayer only deals with transaction submission with encrypted inputs and EIP-712 signing.
No. Because FHEVM contracts live on standard EVM networks, the OpenZeppelin Relayer is configured exactly like any other EVM relayer. There is no FHEVM-specific network setup required.