Fhenix Announces Grants & Bounties Program. Learn More.

Don’t trust, Compute.

Fully Homomorphic Encryption (FHE) is the only privacy enhancing technology that enables end-to-end encryption, keeping information private.

Reveal only what you want

Imagine if everything you did online was completely translucent and publicly available. Your bank account balance, health records, text messages–all readable to anyone with an internet connection.

Sounds crazy, but that’s how Ethereum currently works.

Meet CoFHE: Confidentiality on Demand

CoFHE is a privacy tool for Ethereum that lets you add encrypted data handling to your smart contracts with just one Solidity import. It operates off-chain for scalable performance and works seamlessly on any EVM-compatible network.

Decrypt 50x faster than industry standard
Integrate with just one line of code
Solidity, Hardhat, Remix, Foundry compatible
Scalable confidentiality with off-chain computation

Example Contract Before and After CoFHE

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

contract SimpleCounter {
address owner;
uint256 counter;

modifier onlyOwner() {
require(msg.sender == owner, "Only the owner can increment or decrement the counter");
_;
}

constructor(uint initial_value) {
owner = msg.sender;
counter = initial_value;
}

modifier onlyOwner() {
require(msg.sender == owner, "Only the owner can increment or decrement the counter");
_;
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

import {FHE, euint64, InEuint64} from "@fhenixprotocol/cofhe-contracts/FHE.sol";

contract SimpleCounter {
address owner;

euint64 counter;
euint64 lastDecryptedCounter;
euint64 step;

modifier onlyOwner() {
require(msg.sender == owner, "Only the owner can access that function");
_;
}

constructor(uint64 initial_value) {
owner = msg.sender;
counter = FHE.asEuint64(initial_value);
FHE.allowThis(counter);

// Encrypt the value 1 only once instead of every value change
step = FHE.asEuint64(1);
FHE.allowThis(step);
}

function increment_counter() external onlyOwner {
counter = FHE.add(counter, step);
FHE.allowThis(counter);
}

function decrement_counter() external onlyOwner {
counter = FHE.sub(counter, step);
FHE.allowThis(counter);
}

function decrypt_counter() external onlyOwner {
lastDecryptedCounter = counter;
FHE.decrypt(lastDecryptedCounter);
}

function get_counter_value() external view returns(uint256) {
(uint256 value, bool decrypted) = FHE.getDecryptResultSafe(lastDecryptedCounter);
if (!decrypted)
revert("Value is not ready");

return value;
}
}

Networks Supported:

Use Cases

Confidential Transactions

Keep transaction details completely private while preserving verifiable correctness on-chain

Fair Play Gaming

FHE locks game logic so no player can reverse-engineer or manipulate data, ensuring a level playing field.

Secure AI

Train Al models on sensitive datasets without revealing a single byte of raw data, or risking detrimental data leaks

Frequently asked questions

What is Fully Homomorphic Encryption (FHE)?

What is Fhenix?

What is an FHE Coprocessor?

How does CoFHE work?

Why is FHE important for Web3 and blockchain?

Is the FHE Coprocessor compatible with Ethereum and other EVM chains?

How is FHE different from Zero-Knowledge (ZK) proofs?

Latest news

Fhenix Newsletter

Stay up to date on ecosystem progress, FHE research, and product announcements.