Skip to main content
Reuse-first, fresh-proof, hosted interactive, and backend gating patterns with the NEUS SDK.

Reuse-First Flow

Use this as the default UX. It minimizes user prompts while still issuing new proofs when needed.
<VerifyGate
  requiredVerifiers={['ownership-basic']}
  strategy="reuse-or-create"
>
  <Protected />
</VerifyGate>

Fresh Proof Flow

Use this when the action is high stakes and you need a newly created assertion.
<VerifyGate
  requiredVerifiers={['wallet-risk']}
  strategy="fresh"
>
  <Protected />
</VerifyGate>

Hosted Interactive Flow

Interactive verifiers hand off to the hosted verify surface.
<VerifyGate
  requiredVerifiers={['ownership-social']}
  hostedCheckoutUrl="https://neus.network/verify"
/>

Backend Policy Check

For server-side access, use the SDK gate-check helper instead of reading full proof payloads.
const result = await client.gateCheck({
  address: '0x...',
  verifierIds: ['token-holding'],
  contractAddress: '0x...',
  minBalance: '100',
  chainId: 8453,
  since: Date.now() - 60 * 60 * 1000
});