Share & Anchor a ZK Proof
Share & Anchor a ZK Proof
When to use
The verifier requires a public, immutable record of your proof — typically for high-stakes use (regulatory KYC, on-chain DAO voting). On-chain anchoring is opt-in.
Before you begin
- A generated proof (§3.3.3).
- (Optional) wallet permission to sign the chain transaction.
Steps
- From the proof’s detail page, click Anchor on chain.
- The wallet prompts for confirmation. Approve.
- The wallet calls
submitProof(proofHash, proverDID, credentialId, predicateHash)on the ZKProofVerifier contract (see §11.6). - After receipt, the proof’s record on the platform shows the
txHashandonChain: true.
Sharing
To share a proof off-chain, click Copy share link — generates a URL like https://adid.dev/proofs/abc123 that any party can visit (no auth needed) to verify.
API
(No auth — /api/v1/zkp/verify is public per router.go:71.)
Verify
After anchoring, query verifyProofOnChain(proofHash) on the contract via the API:
Troubleshooting
⚠️ Warning — On-chain anchoring is permanent. Proof revocation is supported (call
revokeProof(proofHash)) but the original anchor record remains visible (just withrevoked: true). Do not anchor a proof unless you intend it to be auditable forever.