What a proof records
What was checked, who or what it describes, the outcome, who issued it, its current status and expiry, its visibility, and any scope needed to evaluate it. Outcome and status are separate. A proof that passed earlier never overrides expiry or revocation. A receipt is the same kind of record for a completed action, payment, or job run.Proof ID
The API field for the proof ID isqHash. Store it with the user or record it belongs to.
contentHash identifies the checked content or file. It is not the proof ID.
Read a proof
Visibility
Unlisted proofs are public to anyone who has the proof ID. To share a private proof without making it public, create a signed access grant with
POST /api/v1/verification/access/grant.
client.verify() and VerifyGate create private proofs unless you choose otherwise.
Storage
Proofs are stored offchain by default. A blockchain record is optional: request it withoptions.publishToHub: true or targetChains. IPFS pinning is optional with enableIpfs: true. Neither changes who can read the proof, and neither replaces a status check.
Reuse
Before a protected action, check the current proof instead of repeating the original check. Reuse verificationRevoke
POST /api/v1/proofs/revoke-self/{qHash}. A revoked proof stops satisfying any gate.
Portable proofs
Wallet-signed requests return a portable envelope another system can check without calling Proofable:Guides
Proof lifecycle
Status, freshness, and revocation.
Link and version proofs
Typed links and version chains.
