User API
Manage user profile and preferences.
Get User Profile
GET /api/userResponse
{
"id": "user_123",
"name": "John Doe",
"email": "[email protected]",
"image": "https://...",
"isAnonymous": false,
"providerId": "google",
"walletAddress": "0x..."
}Update User Profile
PATCH /api/userNote: OAuth users cannot update email or name.
Request Body
{
"name": "New Name"
}Get User Wallet
GET /api/user/walletReturns the user’s Para wallet information.
Response
{
"address": "0x...",
"balances": {
"1": "1.5",
"11155111": "0.1"
}
}RPC Preferences
Manage custom RPC endpoints per chain.
List RPC Preferences
GET /api/user/rpc-preferencesResponse
{
"data": [
{
"chainId": 1,
"primaryRpc": "https://custom-rpc.example.com",
"fallbackRpc": "https://fallback.example.com"
}
]
}Set RPC Preferences
POST /api/user/rpc-preferencesRequest Body
{
"chainId": 1,
"primaryRpc": "https://custom-rpc.example.com",
"fallbackRpc": "https://fallback.example.com"
}Get Chain RPC Preference
GET /api/user/rpc-preferences/{chainId}Update Chain RPC Preference
PUT /api/user/rpc-preferences/{chainId}Delete Chain RPC Preference
DELETE /api/user/rpc-preferences/{chainId}Reverts to default RPC endpoints for the chain.
Change Password
POST /api/user/passwordChange the password for a credential-based account. Requires the current password and a new password (minimum 8 characters). Not available for OAuth-only accounts.
Request Body
{
"currentPassword": "old-password",
"newPassword": "new-password"
}Forgot Password
POST /api/user/forgot-passwordHandles password reset via OTP. Supports two actions controlled by the action field in the request body.
Request OTP (default when action is omitted or set to "request"):
{
"email": "[email protected]"
}Reset password (action: "reset"):
{
"action": "reset",
"email": "[email protected]",
"otp": "123456",
"newPassword": "new-password"
}The OTP expires after 5 minutes. OAuth-only accounts receive a notification email instead of a reset code.
Deactivate Account
POST /api/user/deleteSoft-deletes the authenticated user account. Requires a confirmation string in the request body. Invalidates all active sessions on success. Not available for anonymous users.
Request Body
{
"confirmation": "DEACTIVATE"
}Address Book
Manage saved Ethereum addresses scoped to the active organization. All address book endpoints require an active organization context.
List Address Book Entries
GET /api/address-bookReturns all address book entries for the active organization, ordered by creation date (newest first).
Create Address Book Entry
POST /api/address-bookRequest Body
{
"label": "Treasury Wallet",
"address": "0x..."
}The address must be a valid Ethereum address.
Update Address Book Entry
PATCH /api/address-book/{entryId}Update the label or address of an existing entry. Both fields are optional.
Delete Address Book Entry
DELETE /api/address-book/{entryId}Removes the entry from the organization address book.