Skip to main content
Add appId from Get started for production traffic.
RepoStackCovers
react-componentReactVerifyGate
nodejs-basicNode.jsSDK
curl-minimalHTTPAPI

React: Gate Content

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: 1,
        },
      }}
    >
      <ProtectedContent />
    </VerifyGate>
  );
}

Node.js: Create Proof

Server-side signing is not client.verify() without a wallet—use standardize → sign → submit (see JavaScript SDK) or copy nodejs-basic (TEST_WALLET_PRIVATE_KEY).

HTTP: Create Proof (advanced)

# 1. Get signing string
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" }
  }'

# 2. Sign the returned signerString with your wallet

# 3. Submit verification
curl -X POST https://api.neus.network/api/v1/verification \
  -H "Content-Type: application/json" \
  -d '{
    "walletAddress": "0x...",
    "signature": "0x...",
    "verifierIds": ["ownership-basic"],
    "data": { "content": "Hello NEUS" }
  }'

Docs

Get startedApp id + billing (before production)
Hosted VerifyGuided login
MCPAgents
Quickstart (SDK)First proof in code
APIEndpoints