Skip to main content
npm install @neus/sdk
Complete Get started first, then follow the flow below.

One flow

import { NeusClient } from '@neus/sdk';
import { getHostedCheckoutUrl } from '@neus/sdk';

const client = new NeusClient({
  apiUrl: 'https://api.neus.network',
  appId: 'my-app',
});

// In-browser verify
const proof = await client.verify({
  verifier: 'ownership-basic',
  content: 'Hello NEUS',
  wallet: window.ethereum,
});
const proofId = proof.proofId;

await client.pollProofStatus(proofId, { interval: 3000, timeout: 60000 });

await client.gateCheck({
  address: '0x...',
  verifierIds: ['ownership-basic'],
});

// Hosted URL (see Hosted Verify cookbook)
const url = getHostedCheckoutUrl({
  verifiers: ['ownership-basic'],
  returnUrl: 'https://myapp.com/callback',
});

HTTP API

NeedUse
Create proofclient.verify()
Wait for asyncclient.pollProofStatus()
Eligibilityclient.gateCheck()
Hosted redirect/popupgetHostedCheckoutUrl()
Optional: timeout on NeusClient constructor.

Who pays for credits?

appId maps to X-Neus-App. Credits follow the signer unless sponsorGrant or x402. Get started · Billing

Raw SDK vs VerifyGate defaults

client.verify() is private-by-default (see Security). VerifyGate create mode defaults to unlisted public for reuse-first gates. Full matrix: Security and trust.

Pages

Get started

Onboarding.

JavaScript

Methods and types.

Verifications

Reuse vs fresh.

Authentication

Hosted login + Bearer.

Errors

Retries and codes.

Billing

Sponsor vs user pays.