Skip to content

semaphore:validate

Validate a Semaphore membership proof on-chain. The contract records the nullifier, so a second proof with the same identity and scope reverts.

⚗️ Experimental — available at next.evmcrispr.com.

Supports runtime fields inside smart blocks. Use explicit @helper! expressions or captured outputs; other fields are evaluated at build time.

semaphore:validate <proof> <for> <group>
NameTypeEvaluationDescription
proofstringBuild timeProof JSON from semaphore:prove
forcommandBuild timeKeyword for
groupnumberRuntime in smart blocksGroup id
  • validateProof records the nullifier on-chain: a second proof from the same identity and scope reverts. Use @semaphore:verify for a read-only check that records nothing.