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

Wallets

Custodial wallet management

Operations

Create custodial wallet

Request

Creates a wallet and returns key material. Store secrets securely.

Security
oAuth2
Headers
Idempotency-Keystring
Bodyapplication/jsonrequired
ownerRefstringrequired
Example: "usr_12345"
networkstring(Network)required
Enum"ethereum""polygon""solana""bitcoin"
custodyModelstring
Default "custodial"
Value"custodial"
curl -i -X POST \
  https://developer.kaito.io/_mock/users/v1/wallets \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -d '{
    "ownerRef": "usr_12345",
    "network": "ethereum",
    "custodyModel": "custodial"
  }'

Responses

Wallet created

Bodyapplication/json
walletobject(Wallet)required
wallet.​walletIdstringrequired
Example: "wlt_01JH..."
wallet.​addressstringrequired
wallet.​networkstring(Network)required
Enum"ethereum""polygon""solana""bitcoin"
wallet.​custodyModelstring
Value"custodial"
wallet.​createdAtstring(date-time)required
secretsobject(WalletSecrets)required
secrets.​addressstring
secrets.​privateKeystring
secrets.​mnemonicstring
Response
application/json
{ "wallet": { "walletId": "wlt_01JH...", "address": "string", "network": "ethereum", "custodyModel": "custodial", "createdAt": "2019-08-24T14:15:22Z" }, "secrets": { "address": "string", "privateKey": "string", "mnemonic": "string" } }

List wallets

Request

Security
oAuth2
Query
ownerRefstring
networkstring(Network)
Enum"ethereum""polygon""solana""bitcoin"
limitinteger
Default 50
cursorstring
curl -i -X GET \
  'https://developer.kaito.io/_mock/users/v1/wallets?ownerRef=string&network=ethereum&limit=50&cursor=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Wallets list

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

Get wallet by ID

Request

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

Responses

Wallet details

Bodyapplication/json
walletIdstringrequired
Example: "wlt_01JH..."
addressstringrequired
networkstring(Network)required
Enum"ethereum""polygon""solana""bitcoin"
custodyModelstring
Value"custodial"
createdAtstring(date-time)required
Response
application/json
{ "walletId": "wlt_01JH...", "address": "string", "network": "ethereum", "custodyModel": "custodial", "createdAt": "2019-08-24T14:15:22Z" }

Resolution

Resolve identifiers to destinations

Operations

Handles

Manage handle registrations

Operations

Contacts

Manage contact book

Operations