Skip to main content
POST
/
register
/
identity
cURL
curl -X POST 'https://core-api-server.onrender.com/register/identity' \
  -H 'Content-Type: application/json' \
  -d '{
    "walletAddress": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
    "disclosures": {
      "issuing_state": false,
      "name": true,
      "nationality": true,
      "date_of_birth": true,
      "passport_number": false,
      "gender": false,
      "expiry_date": false
    }
  }'
{
"message": "You already have a pending identity verification session",
"details": {
"qrCodeUrl": "https://trustengine.org/identity-verification?walletAddress=7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"walletAddress": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"requestedDisclosures": {
"name": true,
"nationality": true,
"date_of_birth": true,
"issuing_state": false,
"passport_number": false,
"gender": false,
"expiry_date": false
},
"status": "pending",
"createdAt": "2024-01-15T09:30:00.000Z",
"expiresAt": "2024-01-16T09:30:00.000Z",
"instructions": "Complete your existing verification or wait for it to expire before starting a new one"
}
}

What This Endpoint Does

1

Wallet Validation

Validates the provided wallet address and checks for existing user-key relation
2

Disclosure Validation

Validates the requested identity disclosure fields (name, nationality, date of birth, etc.)
3

Session Creation

Creates a new identity verification session in the database
4

QR Code Generation

Returns a QR code URL for Self.xyz app verification

Requirements

Before using this endpoint, ensure the wallet has a user-key relation established. Use the /link-wallet or /create-wallet endpoints first.

Next Steps

1

Share QR Code

Share the qrCodeUrl with the user for identity verification
2

Monitor Status

Use /identity/session/{walletAddress} to check verification status
3

Automatic Processing

Verification results are processed automatically when users complete their verification
Sessions expire after 24 hours. Users must complete verification within this timeframe, or a new session must be created.

Body

application/json
walletAddress
string
required

Valid Solana wallet address (Base58 format)

Example:

"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"

disclosures
object
required

Object specifying which identity fields to request verification for. All 7 fields must be explicitly provided with boolean values.

Example:
{
"issuing_state": false,
"name": true,
"nationality": true,
"date_of_birth": true,
"passport_number": false,
"gender": false,
"expiry_date": false
}

Response

Existing pending session found

message
string
required

Message indicating an existing pending session was found

details
object
required
I