Creating an Account
1
Choose your identity method
On the Register tab, enter your email address or phone number. You can optionally set a password or use OTP-only login.
2
Enter your display name
Choose a display name (minimum 2 characters) that other users will see in conversations.
3
Verify with OTP
A 6-digit verification code will be sent to your email or phone. Enter the code within 5 minutes to verify your identity.
4
Set a password (optional)
You may provide a password (minimum 6 characters) for password-based login as an alternative to OTP every time.
Logging In
NexChat supports two login methods:
- Password login — Enter your email or phone and password. Recommended for frequent users.
- OTP login — Enter your email or phone, request a verification code, and enter the code sent to you. No password needed.
After successful login, you will receive an access token (valid 15 minutes) and a
refresh token (valid 30 days). The refresh token is automatically used to obtain
new access tokens without requiring re-login.
Starting a Direct Conversation
1
Open the New Chat modal
Click the "New Chat" button (or pencil icon) in the sidebar to open the search modal.
2
Search for a user
Type a name, email, or phone number in the search bar. Results update in real-time showing matching users with their online status.
3
Select the user
Click on a user to create or open an existing direct conversation. If a conversation already exists, you will be taken to it directly.
Creating a Group
1
Open New Group modal
Click the "New Group" option from the sidebar menu.
2
Add participants
Search and select users to add to the group. You can add multiple participants.
3
Set group name and avatar
Give your group a name and optionally set a group avatar image.
The creator of the group is automatically assigned the ADMIN role.
All other participants are MEMBERS. Admin roles allow managing
the group.
Sending Messages
To send a message, type your text in the input bar at the bottom of the chat window
and press Enter or click the send button.
- Text messages — Standard text with support for any Unicode characters.
- Emoji — Full emoji support.
- Message replies — Hover over a message and click the reply icon to quote and reply to that specific message.
NexChat supports sharing images, videos, audio files, and documents:
1
Click the attachment button
In the message input area, click the attachment icon to open the file picker.
2
Select your file
Choose an image, video, audio file, or document from your device.
3
Wait for upload
The file is uploaded with a visible progress bar. Once complete, the message is sent automatically with the media attached.
Replying to Messages
To reply to a specific message:
- Hover over the message you want to reply to.
- Click the reply icon (arrow pointing left).
- The original message will appear quoted above the input bar.
- Type your reply and send it. The original message content and sender are preserved in the reply preview.
Message Status & Read Receipts
Each message goes through the following status progression:
- PENDING — The message is being sent (optimistic UI state).
- SENT — The message has been delivered to the server.
- DELIVERED — The message has been delivered to the recipient's device.
- READ — The recipient has opened the conversation and seen the message.
When you open a conversation, all unread messages are automatically marked as read
and the sender receives a real-time update via Socket.IO. The unread count on the
conversation list is updated instantly.
Blocking & Unblocking Users
To block or unblock a user:
- Block: Open the Contact Info modal for a user or conversation and click "Block User". Blocked users cannot send you messages.
- Unblock: Access your blocked users list and click "Unblock" next to the user's name.
- You can view your complete list of blocked users at any time.
Note: You cannot send messages to someone you have blocked.
Unblock them first if you wish to communicate again.
Managing Your Profile
Click on your avatar or name in the sidebar header to open your profile modal.
From there you can:
- Update your display name.
- Change your profile picture (avatar).
- View your registered email and phone number.
- Log out of your account.
Setting Up Encryption Keys
For end-to-end encrypted messaging, you can register your public key:
- Your public key is stored on the server and shared with your contacts.
- Other users can fetch your public key to encrypt messages that only you can decrypt with your private key.
- Your private key is generated and stored locally on your device — it is never sent to the server.
- To register your key, use the profile settings or the
/api/users/public-key endpoint.
Security Tips
- Use a strong password — If using password login, choose a unique password with at least 8 characters including numbers and symbols.
- Enable OTP verification — Keep OTP verification enabled for an extra layer of security during login.
- Log out on shared devices — Always log out when using NexChat on a shared or public computer.
- Keep your private key safe — If you lose your private key, previously encrypted messages cannot be decrypted.
- Report abuse — Use the block and report features to handle unwanted contacts or abusive behavior.
- Keep your tokens private — Never share your access or refresh tokens with anyone.