The gcEVM's first public performance test
This article also appears on LinkedIn
This post reports our first public performance test, from November 2024. It is preserved as a record of where the numbers started. Since then the gcEVM went to production as the privacy layer of COTI mainnet in March 2025, and our July 2026 end-to-end measurement on Arbitrum reached 500 cTPS sustained with peaks of 750. The current figures live on the technology page.
What is the gcEVM?
The gcEVM is the result of integrating an MPC stack into an Ethereum L2, enabling confidential transactions. Everyone can still follow and validate the execution of the chain, but only the MPC nodes can compute on the encrypted data. The stack builds on garbled-circuit cryptography and executes EVM-compatible contracts, hence the name.
The test
We set up a network identical to a production deployment and measured its end-to-end throughput: not the speed of a cryptographic kernel in isolation, but confidential ERC-20 transfers actually settling in blocks.
The hardware was deliberately modest: low-end AWS instances (r5n.2xlarge and r5n.4xlarge, with 1,000 GB disks at 8,000 IOPS). Ten externally owned accounts ran in parallel, simulating end users, each pre-funded with gas and automated to dispatch 10,000 transfers to a pre-deployed confidential ERC-20 contract.
The results
The gcEVM processed 100,000 confidential ERC-20 transfers across 101 blocks in just over 30 minutes.
The first 13 blocks sustained 75 cTPS with uniform 12-second block times, riding a full inventory of pre-computed garbled circuits. After that, throughput settled to a steady state with regular peaks of 60 to 80 cTPS and block times fluctuating between 12 and 32 seconds, as heavier confidential load in a block delayed its completion.
Excluding those first 13 blocks, which flatter the average, the sustained-load figures were:

Per-block throughput (gray), block duration (red) and the running average (green) across the test. Figure from the original test report, at its published resolution.
- Average throughput: 53.19 cTPS
- Minimum: 30.94 cTPS, maximum: 82.50 cTPS
- Block times: 12 to 32 seconds, averaging 20.24 seconds
- Total test time: 1,761 seconds
For scale at the time: extrapolating from Zama's published CPU benchmarks for 64-bit balances, an fhEVM confidential transfer needs at least one addition, one subtraction and one comparison, or roughly 332 milliseconds of CPU time per transfer before proof verification, which works out to about 2 to 3 cTPS.
What the test showed
The system absorbed almost 12,000 transfers in the first two and a half minutes, then stabilized around 56 cTPS under sustained heavy load. Real networks rarely see that kind of sustained volume; the peak capacity exists to absorb short-term bursts.
At the time we closed the post with a target: 1,000 cTPS. The July 2026 measurement of 500 cTPS sustained end-to-end on a live chain, with a compute-only ceiling of 3,400 cTPS per core, is the progress report. The numbers on the technology page stay current.