Verify once. Prove everywhere.
NEUS is a universal verification protocol for identity, ownership, and agent authenticity across platforms and chains.
It turns verifications into a portable proof you can reuse anywhere—apps, APIs, smart contracts, or AI systems—without rebuilding trust logic each time.
npm install @neus/sdkimport { NeusClient } from '@neus/sdk';
const client = new NeusClient();
// Create (or refresh) a proof
const proof = await client.verify({
verifier: 'ownership-basic',
content: 'My original content',
wallet: window.ethereum,
});
// Proof ID (wire field: qHash)
const proofId = proof.qHash;
console.log('Proof ID:', proofId);
// Resolve status later (for gating, auditing, refresh policy, etc.)
const status = await client.getStatus(proofId);
console.log('Status:', status.status);Proof ID =
qHash(field name).
The Proof ID is stable for repeat verifications. Freshness comes from timestamps likecompletedAt/ per-verifierverifiedAt.
For backend eligibility checks, use the minimal gate endpoint (or the SDK wrapper). This avoids pulling full proof payloads and lets you enforce freshness windows for point-in-time verifiers.
- HTTP:
GET /api/v1/proofs/gate/check - SDK:
client.gateCheck({ address, verifierIds, since, sinceDays, ... })
Widgets are optional and live under a dedicated subpath.
import { VerifyGate, ProofBadge } from '@neus/sdk/widgets';
export function Gated() {
return (
<VerifyGate verifierData={{ 'nft-ownership': { contractAddress: '0x...', tokenId: '1', chainId: 1 } }}>
<ProtectedComponent />
</VerifyGate>
);
}For Next.js App Router, render widgets inside a Client Component (widget modules are client-only).
| Resource | Description |
|---|---|
| Docs home | Protocol overview and guides |
| Quickstart | Create your first proof |
| API Reference | HTTP endpoints |
| Verifiers | Verifier catalog + schemas |
| Contracts | Verified deployments and explorers |
| Examples | Integration examples |
| Channel | Use For |
|---|---|
| GitHub Discussions | Questions |
| GitHub Issues | Bug reports |
| dev@neus.network | Security issues |
- Smart Contracts: BUSL-1.1 → Apache-2.0 (Aug 2028)
- SDK & Tools: Apache-2.0