Skip to main content
POST
/
api
/
v1
/
verification
/
standardize
Phase 1: build the standard signing string
curl --request POST \
  --url https://api.neus.network/api/v1/verification/standardize \
  --header 'Content-Type: application/json' \
  --data '
{
  "walletAddress": "<string>",
  "verifierIds": [
    "ownership-basic"
  ],
  "data": {},
  "signedTimestamp": 123,
  "chainId": 123,
  "chain": "<string>",
  "signatureMethod": "<string>"
}
'
{
  "success": true,
  "data": {
    "signerString": "<string>",
    "bodyPreview": {}
  }
}

Body

application/json

Phase 1 of the raw HTTP verification handshake. Send the exact JSON body you intend to submit for verification. The returned signerString is the only valid message to sign for that body.

walletAddress
string
required

Signer wallet address. Must be the same wallet that signs the returned signerString and the same walletAddress later submitted to POST /api/v1/verification.

verifierIds
enum<string>[]
required
Minimum array length: 1
Available options:
ownership-basic,
ownership-social,
ownership-pseudonym,
ownership-dns-txt,
ownership-org-oauth,
contract-ownership,
proof-of-human,
nft-ownership,
token-holding,
wallet-risk,
wallet-link,
ai-content-moderation,
agent-identity,
agent-delegation
data
required
signedTimestamp
number
required

Unix ms timestamp that becomes part of the signerString. For raw HTTP, reuse this exact value unchanged when later submitting POST /api/v1/verification.

chainId
integer

Advanced/optional. EVM signing-context hint; when omitted, the API applies its default signing chain. Not required for standard integrations. For non-EVM, use chain (CAIP-2) instead. For chain-specific asset claims (NFT, token, contract), set chainId inside verifier data, not here.

chain
string

CAIP-2 chain identifier for non-EVM wallets (e.g. solana:mainnet). EVM wallets typically omit this; defaults apply for signing context.

signatureMethod
string

Response

OK

Phase 1 response for raw HTTP verification. Sign data.signerString exactly as returned, then submit the same request body plus signature to POST /api/v1/verification.

success
enum<boolean>
required
Available options:
true
data
object
required