Anthropic open-sources FlashProve to prove which model answered
A zkSNARK confirms a reply came from the weights a provider committed to, checkable on a CPU. Open-source Apache 2.0, but proving costs 70–95x the GPU.

Copy markdown
Verify the model, don't just trust the label
FlashProve lets anyone check that a prompt and reply actually ran on the exact weights a provider committed to — catching a silently swapped or quantized model behind an API or router. The proof leaks nothing about the weights, and verifying needs only a CPU (~17s per request), no GPU and no model access.
Apache 2.0, and you can run it today
Anthropic shipped the prover plus two verifiers — a fast C++ one and a Lean verifier with machine-checked soundness proofs — alongside a technical report and an interactive proof visualizer. The demo runs on Llama 4 Maverick (400B MoE, 4-bit, ~232 GB); weights download separately under Meta's license.
The catch: proving costs ~70–95x the GPU
Generating a proof burns roughly 70–95x the GPU time of plain vLLM inference, at ~110 tokens/sec on one H100, and each proof is ~19 MB per 1,024 tokens. It's a research prototype, not something to bolt onto production traffic yet — but the verify half stays cheap, and that's the half that builds trust.
Mind the fine print: greedy, integer, 1,024 tokens
Today's proofs only cover greedy, integer-arithmetic decoding up to 1,024 tokens — not sampled or floating-point output — and the model architecture isn't hidden, with side-channels out of scope. The one-time weight commitment takes ~39 min and is good for ~16M requests.