stateset-stark generates witness-level cryptographic proofs that a private amount satisfies a
compliance policy, without revealing the amount.
It’s built on Winterfell, using STARKs — transparent
(no trusted setup) and post-quantum secure.
Why this exists
Compliance rules usually need the value they’re checking. If an order amount is encrypted, an auditor asking “did every order stay under the AML threshold?” normally has to be given the amounts. A STARK proof answers the question instead of disclosing the data: the prover demonstrates the constraint held, the verifier checks the proof, and nobody sees the amount.Supported policies
aml.threshold is strict and order_total.cap is not. A value exactly equal to the bound passes
the cap and fails the threshold — pick deliberately.Characteristics
Generate a proof
Verify a proof
Submit to the sequencer
Crates
Bindings: WebAssembly, Node.js (
@stateset/ves-stark), Python (ves_stark), and C FFI via
Zig.
Where proofs end up
A generated proof is submitted to the sequencer, which anchors its hash and the policy hash on Set L2 alongside the batch commitment. A third party then verifies it independently — see Compliance proofs.Related
- Set L2 Compliance Proofs — verifying an anchored proof
- Set L2 Architecture
- Sequencer Architecture