Tenzro
Tutorial — Security & verification

Verify a ZK proof

Tenzro uses Plonky3 STARKs over the KoalaBear field with Poseidon2 + FRI — transparent setup, post-quantum-conjectured soundness, no per-circuit keys. Three live AIRs: inference, settlement, and identity.
Level
Advanced
Time
~20 min
Prerequisites
CLI installed
Stack
CLI · TypeScript
01

Generate a proof

Use the CLI to produce a Plonky3 proof for one of the three circuits.

tenzro zk prove \
  --proof-type plonky3 \
  --circuit-id inference \
  --witness ./witness.json \
  --out ./proof.bin
02

Verify locally

The CLI verifier runs the pinned testnet configuration.

tenzro zk verify --proof-type plonky3 --circuit-id inference --proof ./proof.bin
03

Verify over RPC

Validators verify the proof off-EVM and record a 32-byte commitment.

await tz.call("tenzro_verifyZkProof", {
  circuit_id: "inference",
  proof_bytes: proofHex,
  public_inputs: ["0x01020304", "..."]
});
04

Check the commitment on-chain

The EVM ZK_VERIFY precompile is an O(1) HashSet lookup against the commitment registry — call it from any contract or via eth_call with the 32-byte commitment hash as input.

Related
← All tutorials