Skip to main content
All HideMe contracts are deployed on Ethereum mainnet and verified on Etherscan. There are no proxy patterns, no admin upgrade keys, and no owner controls — the contracts are immutable once deployed.
Individual token and wrapper addresses below (HideMeToken example, cWETH, cUSDC) are representative deployments created during testing. New tokens and wrappers are deployed by calling HideMeFactory.createToken() and WrapperFactory.createWrapper() respectively.

Core protocol contracts

ContractAddressEtherscan
HideMeFactory0x46E16F6E248dfa735D50345b1d2657C8dBC5d60BView
WrapperFactory0xde8d3122329916968BA9c5E034Bbade431687408View
ConfidentialPaymentRouterV20x087D50Bb21a4C7A5E9394E9739809cB3AA6576FaView
ConfidentialPayments0xA12c43CFCe337f0f8b831551Fbd273A61b0488d5View

Deployed wrappers

TokenSymbolAddressEtherscan
Confidential WETHcWETH0x7a339078f9abde76c7cf9360238eafd2a64c0ee7View
Confidential USDCcUSDC0x1704cd8697f1c4f21bab3e0c4cf149cb7b1e5147View

Example HideMeToken

TokenAddressEtherscan
Example HideMeToken0x02FA7116A5653dfDFe51cF83F587CB80F560145dView
This token was deployed through HideMeFactory during mainnet testing. It demonstrates the full lifecycle: mint, encrypted transfer (client-side FHE), on-chain encrypted transfer (transferPlaintext), and burn.

Zama fhEVM infrastructure

HideMe inherits ZamaEthereumConfig, which hard-codes the following Zama network addresses at compile time. These are shared infrastructure contracts operated by Zama and are not specific to HideMe.
ComponentAddress
ACL Contract0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6
KMS Contract0x77627828a55156b04Ac0DC0eb30467f1a552BB03
InputVerifier0xCe0FC2e05CFff1B719EFF7169f7D80Af770c8EA2
Gateway Chain ID261131
ACL Contract — Access control list that governs which Ethereum addresses are permitted to decrypt a given euint64 ciphertext handle. Every balance update calls FHE.allow(handle, address) to register new access entries. KMS Contract — On-chain anchor for the Zama threshold key-management network. Stores the public keys used to verify KMS threshold signatures during finalizeUnwrap and other public decryption operations. InputVerifier — Validates zero-knowledge proofs attached to client-side encrypted inputs. Called automatically by FHE.fromExternal() when a user submits an encrypted transfer amount from the frontend. Gateway Chain — A separate EVM chain (Chain ID 261131) that coordinates public decryption requests. When FHE.makePubliclyDecryptable() is called on Ethereum, the Gateway chain orchestrates the KMS threshold signing and posts the decryption proof back to Ethereum for verification.
These Zama infrastructure addresses are mainnet-specific. If you fork or redeploy HideMe to a testnet, you must use the corresponding testnet config base contract from the @fhevm/solidity package rather than ZamaEthereumConfig.

Immutability

None of the HideMe contracts use proxy patterns or upgradeable storage. There are no owner addresses with admin privileges at the protocol level (individual HideMeToken instances have an owner for minting and observer management, but the factory and payment contracts have no such controls). This means:
  • Contract logic cannot be modified after deployment.
  • There are no admin keys that could pause, drain, or upgrade the contracts.
  • The deployed bytecode on Etherscan is the final, canonical implementation.

HideMeFactory

Deploy new confidential tokens

ConfidentialWrapper

Wrap and unwrap ERC-20s

ConfidentialPaymentRouterV2

Send any ERC-20 confidentially

Build docs developers (and LLMs) love