AI agents can't be trusted. ZK proofs fix that.
“Every AI agent running today is a black box. It produces outputs. You can't verify HOW it got there. That's not infrastructure — that's a promise.”
The Trust Problem in AI Systems
Every AI agent running today is a black box. It takes an input. It produces an output. You can log it, monitor it, wrap it in observability tooling — but you cannot fundamentally prove what happened between input and output.
That gap is not a monitoring problem. It is an infrastructure problem.
When AI agents operate autonomously — calling external APIs, executing financial transactions, modifying databases, coordinating with other agents — the inability to verify execution is not academic. It is a liability. One model version change, one prompt injection, one misconfigured tool call, and you have no cryptographic evidence of what actually ran.
The solution is not better logging. It is ZK proofs at the execution layer.
How ZK Execution Receipts Work
A zero-knowledge proof of computation proves three things simultaneously:
1. This exact input I was provided 2. This exact program ran on that input 3. This exact output was produced
It proves these things without revealing the input or intermediate state. And critically — the proof can be verified by anyone, independently, in milliseconds, without re-running the computation.
With RISC Zero zkVM, any Rust program compiled to RISC-V can be wrapped in a ZK proof. The output is a Groth16 receipt:
receipt = zkvm.prove(program, input) zkvm.verify(receipt) → true | false
The receipt is a ~200 byte cryptographic object. It is the difference between "the agent says it ran correctly" and "here is mathematical proof it ran correctly."
axiom-engine: Building This in Production
I built axiom-engine to answer the question: what does a production AI agent system look like when every action is cryptographically verifiable?
Architecture: - Every agent action is wrapped in a RISC Zero zkVM execution context - The zkVM generates a Groth16 proof of the computation - The proof is stored as a deterministic replay hash — the same inputs always produce the same proof - Z3 SMT solver provides formal verification of pre/post-conditions before proof generation - All key exchange uses ML-KEM-768 (post-quantum), all signatures use ML-DSA-65 - AWS Nitro TEE attestation for the execution environment itself - libp2p gossipsub for P2P proof broadcast to a verifier network
The result: every agent action produces a receipt. The receipt is independently verifiable. No trust required.
Why This Matters for AI Infrastructure
The enterprises and governments deploying AI agents at scale in 2026 and beyond will face a fundamental question: how do you audit what your autonomous systems actually did?
"The logs say X" is not an answer. Logs can be tampered with, misconfigured, or simply wrong due to race conditions and async execution. A ZK receipt cannot be faked. The math does not lie.
This matters most in three domains:
Finance — AI agents executing trades, approvals, settlements. A ZK receipt per action is the difference between "our model decided this" and a cryptographic proof of exactly which model version, on exactly which inputs, produced exactly this decision. Auditable by regulators without revealing the model weights.
Healthcare — AI agents operating on patient data. ZK proofs prove no data leaked mid-inference without revealing what data was processed. Privacy-preserving auditability.
Critical infrastructure — Autonomous agents managing systems where a single wrong action has cascading consequences. ZK receipts make every action a signed, verifiable, independently reviewable commitment.
The future is not "trust the AI." It is "here is the proof."
Saraswat Das · Jun 2026