Skip to main content
Save the proof receipt ID. Do not treat raw signatures as your durable record. One ID. Reusable everywhere. Product flow: Home → How it works.

proofId and qHash

When verification completes, you get a proof receipt ID. proofId is the primary SDK name. qHash is the HTTP path and wire field name for the same value.
NameRole
proofIdSDK and docs (primary)
qHashURL paths and some API fields
Proof receipt IDProduct and doc wording
proofId = qHash for the same receipt. Save once. Reuse everywhere. Visibility choices live only in Security and trust.

What to save

SaveDo not rely on
Proof receipt IDRaw signatures alone
Verification statusPrivate proof payloads in public caches
Verifier IDs usedEnd-user credentials

What to do with it

PurposeHow
DisplayLink to /proof/[proof-id]
GateVerifyGate widget
CheckGET /api/v1/proofs/check
PolicyServer-side eligibility

Proof page

https://neus.network/proof/[proof-id]
Shows proof receipt ID, verification type, timestamp, and visibility.

Using the SDK

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

// Check status
const record = await client.getProof(proofId);

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

Using the API

# Proof record by proofId / qHash
GET /api/v1/proofs/{qHash}

# Gate check
GET /api/v1/proofs/check?address=0x...&verifierIds=ownership-basic

Next steps

Hosted Verify

Create proofs with the guided flow.

Security and trust

Visibility modes.

API Overview

Explore HTTP endpoints.