Skip to main content
Default strategy: reuse-or-create.

Privacy

client.verify() is an advanced server or controlled-signing path. VerifyGate create opens Hosted Verify and uses the published gate policy. Full matrix: Security and trust
OptionWhen
privacyLevel: 'private'Default; owner or authorized access for private reads
privacyLevel: 'public'Public reuse without owner auth; pair with publicDisplay
publicDisplay: falseUnlisted - still public to anyone with id
publicDisplay: trueListed / discoverable (needs public)
storeOriginalContent and explicit visibility options are advanced client.verify() storage controls, not the default VerifyGate path.

Reuse-first

<VerifyGate
  gateId="gate_your-app-name"
  strategy="reuse-or-create"
>
  <Protected />
</VerifyGate>

Fresh

High-stakes actions - force new proof:
<VerifyGate strategy="fresh" gateId="gate_your-app-name">
  <Protected />
</VerifyGate>

Read-only gate

<VerifyGate strategy="reuse" gateId="gate_your-app-name">
  <Protected />
</VerifyGate>

Hosted interactive

Hand off to /verify with a published gate:
<VerifyGate
  gateId="gate_your-app-name"
  hostedCheckoutUrl="https://neus.network/verify"
/>
Hosted Verify

Server check

Prefer gateCheck over pulling full proofs for every decision:
const result = await client.gateCheck({
  gateId: 'gate_your-app-name',
  address: '0x...',
});

Next

VerifyGate

Props.

Integration

Loop.
Last modified on June 5, 2026