Question about Public/Testnet Support for Voting & Gateway Contracts

Hi Zama Team,
I have a question regarding the deployment of Voting and Gateway contracts:
Are there any supported public networks or testnets for running the Voting and Gateway contracts?

If yes, are there any special settings or funded accounts required?

What I have done so far:

  • Installed and configured Hardhat with Ethers v6 and @nomicfoundation/hardhat-ethers v3.0.1
  • Updated FHEPrivateVoting.sol according to the latest FHEVM SDK (using FHE.fromExternal and removing deprecated functions)
  • Successfully compiled and deployed the contract on the Hardhat local network

Networks and environments I tested:

Errors observed on Sepolia (excluding balance issues):

  • Transaction reverted: function returned an unexpected amount of data
  • Contract call: (multiple occurrences)
  • balance.eq is not a function
  • HH108: Cannot connect to the network localhost (when Hardhat attempted to connect)
  • Unexpected responses for eth_chainId, eth_blockNumber
  • Unexpected responses for web3_clientVersion
  • anvil_nodeInfo - Method not supported
  • Unexpected responses for hardhat_metadata and eth_getBalance
  • eth_getTransactionCount returned incorrect or inaccessible data
  • eth_sendRawTransaction failed
  • Error: invalid address
  • Cannot deploy contract: constructor arguments incorrect
  1. Is Sepolia the only supported public testnet for deploying FHEVM-based contracts (Voting, Gateway, etc.)?
  2. Are there special funded accounts or relayer permissions required to interact with the public FHE Gateway?
  3. Should deployments use @fhevm/hardhat-plugin directly for the relayer interface on Sepolia?

Thanks in advance for your guidance — your documentation and SDKs have been incredibly helpful!

Hi guys :wave:,

Following up on my previous question regarding public network support for the Voting and Gateway contracts, I’ve gathered more detailed technical results from my setup and testing.

⚙️ Environment Summary

  • Node.js: v22.20.0
  • Hardhat: v2.26.3
  • @fhevm/hardhat-plugin: 0.1.0
  • @zama-fhe/oracle-solidity: 0.2.0
  • @zama-fhe/relayer-sdk: 0.2.0
  • Solidity: ^0.8.27
  • Networks: Hardhat local (OK ✅), Sepolia (issues ⚠️)

🌐 Relayer Connectivity Tests

All endpoints tested under https://relayer.testnet.zama.cloud returned:

404 — "no Route matched with those values"

Endpoint triedResponse
/api/health, /api/public-key404
/v1/health, /v1/public-key404
/v2/health, /v2/public-key404
/health404

This suggests the testnet relayer routes are internal-only (likely behind Kong Gateway).

🧠 SDK Verification

network: 'https://eth-sepolia.public.blastapi.io',
relayerUrl: 'https://relayer.testnet.zama.cloud'

The SDK points to Sepolia correctly, but the relayer endpoint itself seems unavailable.

🧩 Local Setup Suggestion

Running a local relayer with Docker works properly:

version: '3.9'
services:
  fhevm-relayer:
    image: zamafhe/relayer:latest
    ports:
      - "3000:3000"
    environment:
      - FHEVM_NETWORK=local
      - RUST_LOG=info

Then test with:

import { createInstance, LocalConfig } from "@zama-fhe/relayer-sdk";

(async () => {
const instance = await createInstance(LocalConfig);
console.log(“:white_check_mark: Connected to relayer:”, await instance.getPublicKey());
})();

❓ Questions

  1. Is there any public relayer endpoint currently available for Sepolia or other testnets?
  2. If yes, what are the correct endpoint paths (e.g., /health, /api/public-key)?
  3. Is there a roadmap for enabling public relayer API access for community testing?

Thanks for your continued work on FHEVM! Your response will help the developer community align testing environments with the current infrastructure.

After checking with the latest SDK (@zama-fhe/relayer-sdk@0.2.0), we confirmed that:

  • The correct relayer base URL should now be https://relayer.testnet.zama.ai (for testnet).
  • The public key and health endpoints are no longer exposed directly; instead, the proper way is to call createEncryptedInput() after initializing the SDK instance.

Our local deployment and Hardhat integration are working well, but we want to confirm that this is indeed the correct relayer for public FHEVM testnet deployments — and whether there are any rate limits, whitelisted addresses, or authentication requirements for the .zama.ai relayer.

We appreciate your confirmation or any additional recommendations.

Hi @aa2hr! I confirm the Zama relayer url is: https://relayer.testnet.zama.cloud
However, I recommend you to interact with the Zama Protocol exclusively using the @zama-fhe/relayer-sdk package and the public API it provides.

1 Like

Thank you very much for the clarification — that helps a lot.