Skip to content

Kaito Users API (2.0.0)

User management: Identity verification, Wallets, and Directory services.

Identity (KYC/KYB): KYC for individual verification, KYB for company verification.

Wallets: Custodial wallet management with key material. Supports Ethereum, Polygon, Solana, Bitcoin.

Directory: Resolve handles, phones, addresses to destinations. Register handles and manage contact books.

Download OpenAPI description
Languages
Servers
Mock server
https://developer.kaito.io/_mock/users/
Production
https://api.kai2.io/
Sandbox
https://sandbox.api.kai2.io/

Identity

KYC/KYB verification

Operations

Submit KYC/KYB verification

Request

Security
oAuth2
Headers
Idempotency-Keystring
Bodyapplication/jsonrequired
typestring(VerificationType)required
Enum"KYC""KYB"
subjectobject(Subject)required
subject.​firstNamestring
subject.​lastNamestring
subject.​dobstring(date)
subject.​nationalIdstring
subject.​countrystring
subject.​emailstring(email)
subject.​phonestring
subject.​businessNamestring
subject.​registrationNumberstring
subject.​businessTypestring
Enum"corporation""llc""partnership""sole_proprietorship""nonprofit"
documentsArray of objects(Document)
callbackUrlstring(uri)
curl -i -X POST \
  https://developer.kaito.io/_mock/users/v1/identity/verify \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -d '{
    "type": "KYC",
    "subject": {
      "firstName": "string",
      "lastName": "string",
      "dob": "2019-08-24",
      "nationalId": "string",
      "country": "string",
      "email": "user@example.com",
      "phone": "string",
      "businessName": "string",
      "registrationNumber": "string",
      "businessType": "corporation"
    },
    "documents": [
      {
        "type": "passport",
        "file": "string",
        "side": "front"
      }
    ],
    "callbackUrl": "http://example.com"
  }'

Responses

Verification submitted

Bodyapplication/json
verificationIdstringrequired
Example: "ver_01JH..."
typestring(VerificationType)required
Enum"KYC""KYB"
statusstring(VerificationStatus)required
Enum"pending""in_review""approved""rejected""expired"
subjectobject(Subject)
reasonstring
riskScorenumber
createdAtstring(date-time)required
expiresAtstring(date-time)
Response
application/json
{ "verificationId": "ver_01JH...", "type": "KYC", "status": "pending", "subject": { "firstName": "string", "lastName": "string", "dob": "2019-08-24", "nationalId": "string", "country": "string", "email": "user@example.com", "phone": "string", "businessName": "string", "registrationNumber": "string", "businessType": "corporation" }, "reason": "string", "riskScore": 0, "createdAt": "2019-08-24T14:15:22Z", "expiresAt": "2019-08-24T14:15:22Z" }

List verifications

Request

Security
oAuth2
Query
statusstring(VerificationStatus)
Enum"pending""in_review""approved""rejected""expired"
typestring(VerificationType)
Enum"KYC""KYB"
limitinteger
Default 50
cursorstring
curl -i -X GET \
  'https://developer.kaito.io/_mock/users/v1/identity/verifications?status=pending&type=KYC&limit=50&cursor=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Verifications list

Bodyapplication/json
itemsArray of objects(Verification)
paginationobject(Pagination)
Response
application/json
{ "items": [ {} ], "pagination": { "nextCursor": "string" } }

Get verification status

Request

Security
oAuth2
Path
verificationIdstringrequired
curl -i -X GET \
  'https://developer.kaito.io/_mock/users/v1/identity/verifications/{verificationId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Verification details

Bodyapplication/json
verificationIdstringrequired
Example: "ver_01JH..."
typestring(VerificationType)required
Enum"KYC""KYB"
statusstring(VerificationStatus)required
Enum"pending""in_review""approved""rejected""expired"
subjectobject(Subject)
reasonstring
riskScorenumber
createdAtstring(date-time)required
expiresAtstring(date-time)
Response
application/json
{ "verificationId": "ver_01JH...", "type": "KYC", "status": "pending", "subject": { "firstName": "string", "lastName": "string", "dob": "2019-08-24", "nationalId": "string", "country": "string", "email": "user@example.com", "phone": "string", "businessName": "string", "registrationNumber": "string", "businessType": "corporation" }, "reason": "string", "riskScore": 0, "createdAt": "2019-08-24T14:15:22Z", "expiresAt": "2019-08-24T14:15:22Z" }

Wallets

Custodial wallet management

Operations

Resolution

Resolve identifiers to destinations

Operations

Handles

Manage handle registrations

Operations

Contacts

Manage contact book

Operations