client.verify() - you do not need to read this page to ship.
Use this reference when you implement raw POST /api/v1/verification or debug SIGNATURE_VERIFICATION_FAILED / invalid signature responses.
Why
The wallet agrees to the exact request; NEUS returns a qHash and the completeportableProof envelope to the creator. The signature authenticates the request, not the later verifier outcome.
Raw HTTP only
If you call the API without the SDK:- Build the verification JSON body you will submit.
POST /api/v1/verification/standardizewith that body tosignerString(exact bytes to sign).- Sign
signerString. POST /api/v1/verificationwith the same body +signature.
standardize returns (or SDK standardizeVerificationRequest) for that exact body.
Troubleshooting
- Re-run
/standardizeon the same payload and comparesignerStringto what the wallet signed. walletAddress,verifierIds,data,signedTimestamp, and chain fields must match between standardize and submit.- Do not remove nonces or timestamps from
datawhen recomputingqHash; every data field is bound.
Shape
UTF-8, LF newlines.SDK helpers
Wallets
Related
How it works
Flow.
API auth
HTTP.
Verifiers
Ids.
CAIP-380
Envelope.
