Personal access keys (npk_*)
Use Authorization: Bearer with a key from Access keys when your server, job, or MCP client calls the REST API. Store keys only in secure environments (server config, MCP settings)—not in public web bundles.
MCP Auth · SDK Authentication
Browser and mobile products
Typical integrations use Hosted Verify or the SDK so end users sign in and verify on NEUS. UseappId for attribution; keep secrets and keys off the client.
Verification requests and signatures
POST /api/v1/verification may require a wallet signature depending on anonymity and how walletAddress relates to the caller. When the API accepts the caller for that wallet, a separate signature may not be required—follow response errors and the verification flow you use.
Default (low friction)
No manual signing string for most integrations:- Hosted Verify - redirect or popup; user completes NEUS-hosted steps.
- SDK -
NeusClient.verify()with a browser wallet (see Quickstart); the client handles signing and submit. - MCP - Bearer
npk_*on the MCP connection;neus_verify_or_guidewhen a hosted browser handoff is required (passkey, OAuth, provider).
gateCheck-style reads or a non-SDK stack.
Wallet standards
| Type | Standard | Wallets |
|---|---|---|
| EOA | EIP-191 | MetaMask, Coinbase, Rainbow |
| Contract | EIP-1271 | Safe, Argent, Sequence |
| Counterfactual | EIP-6492 | Undeployed accounts |
Raw HTTP create (advanced)
Only if you implementPOST /api/v1/verification without the SDK. Treat this as a strict two-phase cryptographic handshake, not a schema-only single POST:
- Build the JSON body (
walletAddress,verifierIds,data,signedTimestamp, chain fields as required). POST /api/v1/verification/standardizewith that body tosignerString.- Sign
signerStringwith the same wallet aswalletAddress. POST /api/v1/verificationwith the same body +signature.
walletAddress, verifierIds, data, signedTimestamp, and chain fields - see Signing format.
Field-by-field shapes: API reference on the documentation site.
Picky wallets
UsesignMessage from @neus/sdk - don’t hand-build payloads.