Skip to main content
Terminology: docs say proof ID; the SDK returns proofId; some URLs and API paths use qHash. Same value. Save that id. A raw signature is not your long-term record. Details in one place: Integration.

proofId and qHash

Role
proofIdSDK response
qHashPaths / some API fields
Visibility: Security and trust

Save / don’t

SaveSkip as sole record
Verification idSignature string only
StatusPrivate payloads in public caches
Verifier ids usedUser secrets

Use it

GoalHow
Show/proof/[id]
GateVerifyGate
CheckGET /api/v1/proofs/check
PolicyYour server

Proof URL

https://neus.network/proof/[proof-id]

SDK

const proof = await client.verify({ ... });
const proofId = proof.proofId;

const record = await client.getProof(proofId);

const eligible = await client.gateCheck({
  address: '0x...', // signer from verify()
  verifierIds: ['ownership-basic'],
});

API

GET /api/v1/proofs/{qHash}
GET /api/v1/proofs/check?address=0x...&verifierIds=ownership-basic

Next

Hosted Verify

Create via UI.

Security and trust

Public / private.

API

HTTP.