Soak Certified: 60 Cycles of GPU-Accelerated ZK Proving on Apple Silicon
ZirOS completed a 12-hour Plonky3 STARK prove/verify soak on Apple M4 Max 48 GB with 60 completed cycles, zero degraded runs, and realized Metal participation in the proving lane.
Soak Certified: 60 Cycles of GPU-Accelerated ZK Proving on Apple Silicon
The important result is simple: ZirOS completed a 12-hour sustained Plonky3 STARK prove/verify soak on an Apple Silicon M4 Max host with 48 GB unified memory, finished 60 cycles, and recorded zero degraded runs.
This was not a toy "hello world" proof. The workload was the Falcon Heavy ascent certification path we have been using as a real physics proving surface, and the run preserved per-cycle timing, proof artifacts, verification results, and runtime attribution across the full window.

The numbers
- Duration target: 12 hours
- Actual elapsed time: 43,825 seconds
- Completed cycles: 60
- Verified cycles: 60
- Degraded cycles: 0
- Host: Apple Silicon M4 Max, 48 GB unified memory
- Proof lane: Plonky3 STARK prove/verify
- Workload: Falcon Heavy ascent trajectory
That matters because it turns a broad claim like "we have a proving engine" into something narrower and more useful: the proving lane stayed up for half a day on a real machine, under a repeatable workload, with no degraded runs.
What was actually accelerated
The honest version matters more than the flashy version.
The artifact metadata from the soak shows Metal GPU participation realized in the proving lane, with sustained Metal NTT participation and a nonzero GPU busy ratio across the finished cycles. That is a real acceleration claim.
It is not correct to say the entire proving path was resident on GPU from end to end. The same evidence shows that hash-merkle still fell back to CPU on this workload because the current backend enforces a trace-width MMCS Metal limit. That fallback did not create degraded runs, but it means the right statement is:
Metal participation was realized in the STARK proving lane. Full end-to-end Metal-complete proving is not the claim.
That distinction is exactly why the soak is useful as grant evidence. It is specific enough to trust.
Why this matters operationally
There are really two separate proving stories in ZirOS right now.
The first is the direct STARK lane. That is the lane this certification covers, and it is the one that fits comfortably on the M4 Max 48 GB machine. It is also the post-quantum side of the stack and the one most users will actually touch first.
The second is the STARK-to-Groth16 wrap lane. We pushed that lane significantly further this week by fixing the old Metal MSM admission failure and landing in-window segmentation work, but the full 27.5M-constraint wrap still exceeds the practical memory envelope of this host. On this machine, the honest conclusion is hardware-bound, not "bug solved." That wrap certification is pending higher-memory fleet hardware.
So the current evidence split is:
- direct Plonky3 STARK prove/verify on M4 Max 48 GB: certified
- STARK-to-Groth16 wrap on M4 Max 48 GB: not yet certified
- strict wrap on higher-memory fleet hardware: next certification target
That is a much stronger operating posture than pretending every lane is already complete.
Why the soak changes the business story
This certification is not just a benchmark line item. It closes a distribution and grant loop that was missing hard runtime evidence.
At the same moment this soak passed, the rest of the public surface was already live:
- ZirOS
v0.4.1binary on GitHub Releases midnight-probe@1.0.1on npmzkf midnight resolvein the shipped binary- weekly public attestation running on the public repo
That means the public claim is no longer "we are building proving infrastructure." The public claim is:
We shipped the binary, published the evidence, and certified the direct STARK lane under sustained load.
That is the right foundation for the next grant step and for the first proving-fleet procurement decisions.
What happens next
Three things follow from this result.
First, the soak report now belongs in the permanent evidence surface, not just /tmp. That is done.
Second, the grant narrative can now include a real operating claim:
ZirOS completed a 12-hour sustained Plonky3 STARK prove/verify soak on Apple M4 Max 48 GB with 60 completed cycles and zero degraded runs, while realizing Metal GPU acceleration in the proving path.
Third, the wrap lane gets treated honestly as the next hardware-scaled target, not as a missing paragraph in a pitch deck. The direct STARK lane is ready to be cited now. The wrap lane gets certified when the memory envelope catches up.
Public evidence
- Release: ZirOS v0.4.1
- Public attestation repo: AnubisQuantumCipher/ziros-attestation
- Public soak evidence: soak-certification-v0.4.1-20260403.json
The short version is the useful version: the proving lane held for 12 hours, the evidence is public, and the next scale step is no longer hypothetical.