Skip to main content
Check if a wallet address belongs to a verified identity. Returns verification status and all associated wallets.
This endpoint requires your API key and must only be called from your backend server.

Request

cURL
curl -X POST "https://api.identity.predicate.io/api/v1/verify" \
  -H "Authorization: Bearer $PREDICATE_KYC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "address": "0x1234567890abcdef1234567890abcdef12345678",
    "type": "individual"
  }'

Response (Verified)

{
  "address": "0x1234...",
  "verified": true,
  "status": "completed",
  "userId": "uuid-of-verified-identity",
  "checkType": "kyc",
  "verifiedAt": "2025-01-21T10:30:00Z",
  "wallets": [
    { "address": "0x1234...", "chain": "ethereum" },
    { "address": "0x5678...", "chain": "polygon" }
  ]
}

Response (Not Verified)

{
  "address": "0x1234...",
  "verified": false
}

Endpoint

POST https://api.identity.predicate.io/api/v1/verify

Request Body

address
string
required
The wallet address to check
type
string
Filter by verification type: individual (KYC) or business (KYB). Omit to check all types.

Response Fields

address
string
required
The wallet address that was checked
verified
boolean
required
Whether the wallet belongs to a verified identity
status
string
Most recent session status: pending, submitted, retry, rejected, completed, or null if never seen.
userId
string
The user ID of the identity. Only present if the wallet has an associated user.
checkType
string
The verification type: kyc or kyb (null if not verified)
verifiedAt
string
ISO 8601 timestamp of when verification completed (null if not verified)
wallets
array
Wallet addresses verified at compatible levels (empty if not verified)

Status Values

StatusDescription
pendingSession created, user in verification process
submittedDocuments submitted, awaiting manual operator review
completedVerification successful, user is verified
rejectedVerification permanently failed (fraud, sanctions)
retryFixable issue (e.g., blurry document), user can retry
Important: A submitted status means documents are under manual review. The wallet is not verified until status becomes completed.
Verification Levels: The verify endpoint returns verified status for wallets that were verified at your organization’s current verification level. If you upgrade your verification level, previously verified wallets will need to re-verify. Wallets verified through other organizations at the same scrutiny level will also appear as verified.

Authentication

Authorization: Bearer YOUR_API_KEY