Programmable 
Privacy for the EVM

Use Zama's fhEVM to enable confidential smart contracts in your blockchain, unlocking new use cases in DeFi, gaming and more!

Read more
Read the white paper
Read the white paper
Read the white paper
Read the white paper
Read the white paper
Read the white paper
Read the white paper

Zama's fhEVM enables confidential smart contracts using fully homomorphic encryption (FHE).

On-chain data is public by design, making it hard to build dapps that require confidentiality. Zama's fhEVM, the first private smart contract protocol using fully homomorphic encryption (FHE), enables transaction data and on-chain state to remain encrypted end-to-end, even during processing.


E2E encryption of transactions and state


Composability & data availability on-chain


No impact on existing dapps and state

Unlock a myriad of new use cases, for consumers, businesses and regulated industries.

Tokenization

Swap tokens and RWAs on-chain without others seeing the amounts.

Blind auctions

Bid on items without revealing the amount or the winner.

On-chain games

Keep moves, selections, cards, or items hidden until ready to reveal.

Confidential voting

Prevents bribery and blackmailing by keeping votes private.

Encrypted DIDs

Swap tokens and RWAs on-chain without others seeing the amounts.

Private transfers

Keep balances and amounts private, without using mixers.


Got a use case in mind? Contact us.

Build confidential dapps just as you would regular ones.

Solidity Integration
FhEVM contracts are simple solidity contracts that are built using traditional solidity toolchains.

Simple DevX
Developers can use the euint data types to mark which part of their contracts should be private.

Programmable Privacy
‍All the logic for access control of encrypted states is defined by developers in their smart contracts.

contract EncryptedERC20 {
// A mapping from address to an encrypted balance.
mapping(address => euint32) internal balances;

// Transfers an encrypted amount.
function _transfer(address from, address to, euint32 amount) internal {
	// Make sure the sender has enough tokens.
  TFHE.req(TFHE.le(amount, balances[from]));

  // Add to the balance of `to` and subract from the balance of `from`.
  balances[to] = TFHE.add(balances[to], amount);
  balances[from] = TFHE.sub(balances[from], amount);
}

// Returns the balance of the caller encrypted under the provided public key.
function balanceOf(
	bytes32 publicKey,
	bytes calldata signature
) public view onlySignedPublicKey(publicKey, signature) returns (bytes memory) {
	return TFHE.reencrypt(balances[msg.sender], publicKey, 0);
}

Operational versatility by design.

Consensus:
Proof of Stake (permissionless)
Proof of Authority (permissioned)

Deployment:
L1, L2 or L3 public or enterprise chain
App chain
ZK-fraud-proof rollup (coming 2024)

Decryption:
PoS or PoA threshold decryption
KMS or HSM based centralized decryption

Zama's fhEVM combines state of the art cryptography to achieve unprecedented levels of privacy and security.

FHE

Fully homomorphic encryption is used to compute on private state, directly on-chain.

+

MPC

Multi-party computation is used for threshold decryption of FHE ciphertexts.

+

ZK

Zero-knowledge proofs are used to ensure encryption and decryption integrity.


Read more with our paper: Practical and Efficient FHE-based MPC

The most comprehensive confidential smart contract solution.

Zama's fhEVM

Other FHE

ZK

Mixers

Operations
supported

Everything
Only additions & multiplications
Everything
None

Privacy model

Hides the data
Hides the data
Hides the data
Hides the identity

Data availability

On-chain
On-chain
Offchain
On-chain

Encrypted state composability

Yes
Limited
No
No

On-chain PRNG

Yes
No
No
No

Developer experience

Easy
Medium
Hard
Hard

Compliance

At the application
level
At the application
level
At the user
level
At the user
level

Security

+++
?
+++
+++

Want to know more about Zama's fhEVM? Contact us.

Thank you! Your submission has been received! We will get back to you shortly. In the meantime, follow us on Twitter (X.com): @zama_fhe
Oops! Something went wrong while submitting the form.