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

User registration links the verified identity to the user’s wallet address. User registration links the verified identity to the user’s wallet address.

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).
Behaviour

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.
Responses: 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.
Returns the user object (without email), or 404.

Get a user by phone number

GET /user/phone/{phoneNumber}
string
required
E.164, 10–15 characters, URL-encoded (%2B14155550123).
Returns the user object (without email), or 404 { "message": "User not found" }.

Get a user by email

GET /user/email/{email}
string
required
URL-encoded email address.
Returns the user object without 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.