Skip to main content
check, verify, save id, reuse. Get started | Billing Default showcase: trust receipts showcase (clone and npm run dev) maps real-world outcomes to verifiers. Live product demo: neus.network/demo — try flows in the browser, then use the same patterns from the open-source app. For SDK setup, Quickstart and Hosted Verify come first. Raw HTTP samples at the bottom of this page are advanced.
ExampleUse it for
trust-receipts-showcase (default)Full VerifyGate + gate check: each card is a trust outcome and a verifier
react-componentMinimal browser VerifyGate (Vite)
nodejs-basicAdvanced: server key, sign + gateCheck
curl-minimalAdvanced: raw HTTP sign + submit

React: gate

import { VerifyGate } from '@neus/sdk/widgets';

export default function ProtectedPage() {
  return (
    <VerifyGate
      appId="your-app-id"
      requiredVerifiers={['nft-ownership']}
      verifierData={{
        'nft-ownership': {
          contractAddress: '0x...',
          tokenId: '1',
          chainId: 8453,
        },
      }}
    >
      <ProtectedContent />
    </VerifyGate>
  );
}

Node: proof

Server-held keys or HTTP-only: SDK or nodejs-basic (standardize to sign to submit). Most apps should use Hosted Verify at https://neus.network/verify or client.verify() instead.

HTTP (advanced)

curl -X POST https://api.neus.network/api/v1/verification/standardize \
  -H "Content-Type: application/json" \
  -d '{"walletAddress":"0x...","verifierIds":["ownership-basic"],"data":{"content":"Hello NEUS","owner":"0x..."},"signedTimestamp":1713312000000}'
# phase 1 is mandatory for raw HTTP: sign signerString, then POST /api/v1/verification with the same body + signature

Docs

Get startedApp + billing
Hosted VerifyHosted UX
MCPAssistants
QuickstartFirst SDK proof
APIHTTP