The user object
string
UUID.
string | null
Display name.
string | null
E.164 without spaces. Null for email-only users.
string | null
Lowercased. Null for phone-only users. Not returned by phone or ID lookups.
string
Kernel smart-account address.
string
Dialling code captured at registration, for example
+91.string
ACTIVE, INACTIVE or SUSPENDED.string
ISO 8601 timestamp.
Example
Register or sync the current user
POST /user/register · Requires auth
Creates the caller’s user record, or returns it if it exists. The identity (phone or email) is taken only from the token. Call this after every login and session restore.
string
required
The caller’s Kernel smart-account address, from
kernelAddressForEoa(eoa).Create a claimable wallet
POST /user/pregenerate · Requires auth
Creates a backend-held claimable wallet for a phone number or email that isn’t registered yet. If the identity already exists, returns it unchanged.
string
E.164 phone number, 10–15 characters. Required unless
email is given.string
Email address. Used only when
phoneNumber is absent.201 new claimable user · 200 existing user · 400 neither field valid.
Response
Update your profile
PUT /user/update/{id} · Requires auth
string
required
The caller’s user UUID.
string
1–100 characters.
string
Dialling code.
string
ACTIVE or INACTIVE.walletAddress, phoneNumber and email can’t be changed. Returns 403 if id isn’t the caller’s own record.
Get a user by ID or wallet
GET /user/get/{id}
string
required
A user UUID, or a 42-character
0x wallet address.email), or 404.
Get a user by phone number
GET /user/phone/{phoneNumber}
string
required
E.164, 10–15 characters, URL-encoded (
%2B14155550123).email), or 404 { "message": "User not found" }.
Get a user by email
GET /user/email/{email}
string
required
URL-encoded email address.
phoneNumber, so an email can’t reveal a phone number. 404 if not found.
Get an activity summary
GET /user/{userId}/summary
string
required
User UUID.
Response
netBalance is computed from recorded history, not the on-chain balance.
