Skip to main content
Hosted Verify is https://neus.network/verify. Use it when a step needs a browser ceremony (passkey, wallet, OAuth, human check, or gate checkout). By default your app does not embed wallet or passkey UI.

What runs here

Query intentUser completes on NEUS
intent=loginNEUS session: passkey sign-in, wallet sign-in, optional passkey registration
gateIdGate checkout; wallet steps only if the published gate requires them
Social / org proofOAuth inside a verifier — ownership-social, ownership-org-oauth

Login vs verification

Topicintent=loginGate checkout (gateId, no login-only intent)
PurposeNEUS session (Hub, profile, later checks)Receipt / gate outcome
ScreenDedicated login shellComposer

Parameters

ParamUse
intent=loginHosted login only
returnUrlAbsolute https://… back to your app after completion. Validated before redirect.
returnToneus.network path only (e.g. /profile). Not for third-party domains. @neus/sdk getHostedCheckoutUrl does not set this; append manually if needed.
connect=1Optional for wallet-native products. With intent=login, auto-starts wallet connect on load
gateIdGate definition
mode=popupPopup; requires origin
originOpener origin for postMessage
appIdAdvanced server/app attribution only; not required for published gate checkout

Redirect examples

Checkout / proof (your app):
import { getHostedCheckoutUrl } from '@neus/sdk';

window.location.href = getHostedCheckoutUrl({
  gateId: 'gate_your-app-name',
  returnUrl: 'https://myapp.com/auth/callback',
});
After redirect, read qHash (and related fields) from your callback URL. Login then return to your app:
import { getHostedCheckoutUrl } from '@neus/sdk';

window.location.href = getHostedCheckoutUrl({
  intent: 'login',
  returnUrl: 'https://myapp.com/auth/after-login',
});
First-party only (stay on neus.network):
https://neus.network/verify?intent=login&returnTo=/profile
/login on neus.network redirects to /verify?intent=login&… with a validated returnTo. Open with mode: 'popup' and origin: window.location.origin.
FlowOpener listens for
Verification / gateneus_checkout_done (includes qHash when applicable)
intent=loginneus_login_complete

No browser handoff

Server-created receipts and access keys: Integrations.
Last modified on June 5, 2026