Skip to main content
Same loop on every surface: Check, verify, save, reuse. Check for a valid result (saved proof ID or server eligibility) before a new verify. Save the proof ID from the response (Verification results). API field proofId.

Loop

  1. Check - saved id or proofs/check
  2. Verify - only if needed (hosted, SDK, or API)
  3. Save - proof ID in your app (per user or device)
  4. Reuse - UI, VerifyGate, server, MCP
SituationApproach
Repeat visitsRun an eligibility check or use a stored proof ID before a new verify
Balance / NFT gatesNarrow since or fresh strategy - SDK verifications
Org and domainPlatform setup, then the same loop

Visibility

Security and trust has the full matrix.
ModeUse
PrivateDefault for most products
Unlisted publicPublic reuse without listing
Listed publicDiscoverable attribution
SDK client.verify() defaults private. VerifyGate create also defaults private.

Checklist

Strategies (SDK / API)

StrategyWhen
reuse-or-createDefault: reuse if valid, else verify
freshAlways new verification
reuseExisting verification only
More filters: SDK verifications.

URLs

Hosted Verifyhttps://neus.network/verify
APIhttps://api.neus.network
MCPhttps://mcp.neus.network/mcp

Next

Get started

Hosted Verify

Billing

Payment gates