Skip to main content

Username System

RTC Collector uses a unique username system for user identification, collection sharing, and social features. Your username is how other users find you, view your collection, and connect with you on the platform.

Username Overview

What is a Username?

A username is a unique identifier for your account that:

  • Appears on your profile and shared collections
  • Allows others to find you (e.g., @johndoe)
  • Creates your collection share URL (e.g., /users/johndoe)
  • Enables friends to search for you
  • Displays on marketplace listings and transactions
  • Shows in messages and conversations

Example Username: johndoe

Share URL: https://rtccollector.app/users/johndoe

Username vs. Email

Username:

  • Public identifier
  • Used for sharing and social features
  • Can be used to log in
  • Visible to other users

Email:

  • Private (unless you enable "Show Email" in privacy settings)
  • Used for login and notifications
  • Not visible to other users by default
  • Cannot be changed without verification

Is a Username Required?

No. Usernames are optional but recommended.

Without a Username:

  • ✅ Can use all collection features
  • ✅ Can buy/sell on marketplace
  • ✅ Can use messaging
  • ❌ Cannot share collection publicly
  • ❌ Friends cannot find you by username
  • ❌ Collection URL uses user ID instead

With a Username:

  • ✅ All features enabled
  • ✅ Share collection with custom URL
  • ✅ Friends can find you by username
  • ✅ Professional-looking profile
  • ✅ Better marketplace presence

Username Requirements

Format Rules

Length: 3-30 characters

Allowed Characters:

  • Letters: a-z, A-Z (case-insensitive)
  • Numbers: 0-9
  • Hyphen: -
  • Underscore: _

Examples of Valid Usernames:

johndoe
retro_gamer
player-123
NintendoFan64
classic_collector

Examples of Invalid Usernames:

jo         (too short - minimum 3 characters)
thisisaverylongusernameover30chars (too long - maximum 30 characters)
john.doe (contains period - not allowed)
john doe (contains space - not allowed)
john@doe (contains @ symbol - not allowed)

Content Restrictions

Cannot Be All Numbers:

123456     ❌ Invalid (all numbers)
player123 ✅ Valid (mix of letters and numbers)

Cannot Have 3+ Consecutive Hyphens or Underscores:

john---doe    ❌ Invalid (3 consecutive hyphens)
john___doe ❌ Invalid (3 consecutive underscores)
john--doe ✅ Valid (2 consecutive hyphens)
john_doe ✅ Valid (single underscore)

Cannot Use Reserved Usernames:

The following 31 usernames are reserved and cannot be used:

  • admin, administrator, moderator, mod, support, system
  • root, superuser, owner, staff, help, api, www
  • mail, ftp, blog, shop, store, official, team
  • info, contact, sales, billing, security, noreply
  • no-reply, postmaster, hostmaster, webmaster, abuse
  • null, undefined, anonymous, guest, user, default

Why Reserved:

  • Prevent impersonation of staff/admins
  • Protect system endpoints and functionality
  • Avoid confusion with official accounts

Case Sensitivity

Usernames are case-insensitive:

  • Stored in lowercase in database
  • JohnDoe, johndoe, and JOHNDOE are the same username
  • Display preserves your chosen capitalization
  • Login accepts any case variation

Example:

  • You register as RetroGamer
  • Database stores: retrogamer
  • Profile displays: RetroGamer (your choice)
  • Others can log in as: retrogamer, RetroGamer, RETROGAMER, etc.

Uniqueness

Each username must be unique:

  • No two users can have the same username (case-insensitive)
  • Real-time availability checking when setting username
  • If taken, must choose different username

Checking Availability:

  • Type username in setup modal or settings
  • System checks availability automatically (500ms delay)
  • Green checkmark: Available
  • Red X: Taken or invalid
  • Loading spinner: Checking

Setting Up Your Username

During Registration

Optional Setup: When creating your account, you can optionally set a username.

Steps:

  1. Fill in required fields (first name, last name, email, password)
  2. Optionally fill "Username" field
  3. System checks availability automatically
  4. Green checkmark indicates username is available
  5. Complete registration

Skipping During Registration:

  • Leave username field blank
  • Account created without username
  • Can set username later

After First Login

Username Setup Modal: If you didn't set a username during registration, a modal appears after your first login.

Modal Options:

  1. Set Username Now:

    • Enter desired username
    • System checks availability (500ms debounce)
    • Shows availability status in real-time
    • Click "Set Username" when available
    • Modal closes, username saved
  2. Skip for Now:

    • Click "Skip for Now"
    • Modal closes
    • Can set username later in settings
    • Modal may appear again on next login

Why the Modal Appears: Encourages users to set username for full platform features, especially collection sharing.

In Settings

Accessing Username Settings:

  1. Go to Settings (Profile → Settings)
  2. Navigate to Profile tab
  3. Find Username field
  4. Enter username or change existing
  5. System checks availability automatically
  6. Save changes

Setting for First Time:

  • Enter username in field
  • Check availability (green checkmark)
  • Click Save Changes
  • Username set immediately
  • usernameLastChanged field set to current date/time

Changing Existing Username:

  • Subject to 30-day cooldown (see "Changing Your Username" below)
  • Enter new username
  • Check availability
  • Click Save Changes
  • If cooldown active, error message shows days remaining

Changing Your Username

30-Day Cooldown

Once you set or change your username, you must wait 30 days before changing it again.

Cooldown Purpose:

  • Prevents username squatting
  • Reduces confusion for friends and connections
  • Maintains consistent identity
  • Prevents abuse (frequent username changes)

How It Works:

  • usernameLastChanged field tracks last change
  • System calculates days since last change
  • Must be at least 30 days before next change allowed
  • Cooldown enforced on both initial set and subsequent changes

Cooldown Calculation:

Days Since Last Change = (Current Date - usernameLastChanged) / (1000 * 60 * 60 * 24)
If Days Since Last Change `< 30`: Cannot change (shows days remaining)
If Days Since Last Change >= 30: Can change

Example:

  • Set username on January 1
  • Attempt to change on January 15 (15 days later)
  • Error: "You can change your username again in 15 days"
  • Earliest change date: January 31 (30 days later)

Changing Your Username

Steps:

  1. Go to Settings → Profile
  2. Find Username field
  3. Enter new username
  4. Check availability (green checkmark)
  5. Click Save Changes
  6. If successful:
    • Username updated
    • usernameLastChanged set to current date/time
    • New 30-day cooldown starts
  7. If cooldown active:
    • Error message: "You can change your username again in X days"
    • Change blocked until cooldown expires

Cooldown Bypass: No way to bypass 30-day cooldown. Contact support only for exceptional circumstances (e.g., harassment, privacy concerns).

Case-Only Changes

Changing Capitalization:

If you only want to change capitalization (e.g., johndoeJohnDoe), this is NOT counted as a username change since usernames are case-insensitive.

How to Change Case:

  1. Go to Settings → Profile
  2. Enter username with new capitalization
  3. System recognizes it's the same username
  4. Change allowed immediately (no cooldown)
  5. Display updated to new capitalization

Example:

  • Current: retrogamer
  • Change to: RetroGamer
  • No cooldown, immediate change
  • Database still stores: retrogamer
  • Display shows: RetroGamer

Using Your Username

Collection Sharing

Share URL Format:

https://rtccollector.app/users/{username}

Example:

  • Username: johndoe
  • Share URL: https://rtccollector.app/users/johndoe

Requirements:

  • Must have username set
  • Cannot share collection without username
  • Share URL uses username (not user ID)

Sharing Your Collection:

  1. Go to your collection page
  2. Click Share button
  3. Copy share URL
  4. Share URL includes your username
  5. Others can view your public collection

Privacy:

  • Share URL respects privacy settings
  • If collection is private, share URL shows "Collection is Private"
  • Only public collections visible via share URL

Logging In

Login with Username: You can log in using either email or username.

Username Login Steps:

  1. Go to login page
  2. Enter username in "Email or Username" field
  3. Enter password
  4. Click Log In
  5. System checks username (case-insensitive)
  6. Logged in if credentials valid

Example:

  • Username: RetroGamer
  • Can log in with: retrogamer, RetroGamer, RETROGAMER, etc.
  • Case doesn't matter

Email Login: Still works normally. Username is additional login method, not replacement.

Finding Friends by Username:

  1. Go to Friends page
  2. Search for friend by username
  3. System searches usernames (case-insensitive)
  4. Send friend request to matching users

Example:

  • Search: johndoe
  • Finds: User with username johndoe or JohnDoe
  • Click user to view profile
  • Send friend request

Marketplace Presence

Username on Marketplace:

  • Listings show your username (if set)
  • Buyers see your username
  • Transactions display your username
  • Reviews attributed to your username

Without Username:

  • Listings show "User #{ID}"
  • Less professional appearance
  • Harder for buyers to identify you

Example:

  • With username: "Listing by @johndoe"
  • Without username: "Listing by User #123"

Messages and Conversations

Username in Messages:

  • Message sender shows your username
  • Conversations list your username
  • Notification emails include your username

Example:

  • Message from: "@johndoe: Hi, is this item still available?"
  • Conversation with: "@johndoe"

Username Best Practices

Choosing a Good Username

Do:

  • Keep it short and memorable
  • Use your real name or nickname
  • Include retro gaming references if desired
  • Use underscores or hyphens for readability
  • Choose something you'll be happy with long-term

Don't:

  • Use offensive or inappropriate terms
  • Impersonate others (brands, celebrities, staff)
  • Use confusing character combinations (e.g., l1l1l1l1)
  • Choose something you'll want to change soon (30-day cooldown)

Good Examples:

  • johndoe - Simple, clean
  • retro_gamer - Descriptive, themed
  • n64_collector - Shows interests
  • pixel_prophet - Creative, memorable

Poor Examples:

  • user123456 - Generic, unmemorable
  • xXx_john_xXx - Excessive decoration
  • l1l1l1l1 - Confusing characters
  • temporary_name - Implies impermanence

Username Privacy

Public by Nature: Usernames are public identifiers. Do not use personally identifiable information if privacy is a concern.

Avoid:

  • Full real name (if you want privacy)
  • Birth year (e.g., john1990)
  • Location (e.g., john_nyc)
  • Personal identifiers

Better:

  • Nickname or alias
  • Gaming handle
  • Collector identity
  • Creative username

Username Consistency

Use Across Platforms: If you use the same username on other platforms (Discord, Reddit, Twitter), consider using it here for consistency and recognition.

Benefits:

  • Friends can find you easily
  • Build cross-platform identity
  • Recognizable to community

Planning for the Future

Remember the 30-Day Cooldown:

  • Choose carefully (can't change for 30 days)
  • Don't pick a joke username you'll regret
  • Consider long-term use
  • Think about professional appearance (marketplace)

Username API and Availability

Real-Time Availability Checking

How It Works:

  • Type username in field
  • 500ms debounce (waits 500ms after you stop typing)
  • API request to check availability
  • Rate limited: 10 checks per minute
  • Response shows availability status

Availability Statuses:

  1. Idle: No username entered yet
  2. Checking: API request in progress (loading spinner)
  3. Available: Username is available (green checkmark)
  4. Taken: Username already in use (red X)
  5. Invalid: Username doesn't meet requirements (red X)

Rate Limiting:

  • Maximum 10 availability checks per minute
  • Prevents API abuse
  • If exceeded: "Too many username checks, please try again later"
  • Wait 1 minute before trying again

API Endpoint:

GET /api/auth/check-username?username={username}

Response:

{
"available": true,
"message": "Username is available"
}

or

{
"available": false,
"message": "Username is already taken"
}

Validation

Client-Side Validation:

  • Checks regex: /^[a-zA-Z0-9_-]{3,30}$/
  • Checks content rules (all numbers, consecutive characters)
  • Instant feedback without API call

Server-Side Validation:

  • Re-validates format and content
  • Checks reserved usernames
  • Checks uniqueness (case-insensitive)
  • Final validation before saving

Both Sides: Ensures data integrity and prevents invalid usernames from being saved.

Troubleshooting

Username Not Available

Causes:

  • Username already taken by another user
  • Username is reserved
  • Username doesn't meet format requirements

Fix:

  1. Try different username
  2. Add numbers or underscores
  3. Use different spelling
  4. Check reserved username list

Tips:

  • Add year: johndoejohndoe2023
  • Add underscore: johndoejohn_doe
  • Add descriptor: johndoejohndoe_retro

Cannot Change Username (Cooldown)

Causes:

  • Changed username within last 30 days
  • 30-day cooldown active

Fix:

  • Wait until cooldown expires (check error message for days remaining)
  • Note earliest date you can change again
  • Plan your next username carefully

Checking Days Remaining:

  • Attempt to change username in settings
  • Error message shows: "You can change your username again in X days"
  • Calculate date: Today + X days = earliest change date

Username Shows As Taken But You Own It

Causes:

  • Trying to change to same username (case-insensitive)
  • Username already set on your account

Fix:

  • Check your current username in settings
  • If changing only capitalization, system should recognize and allow immediately
  • If error persists, contact support

Real-Time Check Not Working

Causes:

  • JavaScript error
  • Network issue
  • API rate limit exceeded
  • Server timeout

Fix:

  1. Refresh page and try again
  2. Check internet connection
  3. Wait 1 minute if rate limited
  4. Try different browser
  5. Check browser console for errors

Share URL Not Working

Causes:

  • Username not set
  • Collection privacy set to "Private"
  • Username contains invalid characters (shouldn't happen if validation works)

Fix:

  1. Verify username is set in settings
  2. Check privacy settings (Settings → Privacy → Collection Visibility)
  3. Set collection to "Public" or "Friends" to share
  4. Test share URL in incognito/private browsing mode

Login with Username Failing

Causes:

  • Incorrect username
  • Incorrect password
  • Username doesn't exist
  • Account locked or banned

Fix:

  1. Verify correct username (case doesn't matter)
  2. Try logging in with email instead
  3. Use "Forgot Password" if password incorrect
  4. Check for typos in username
  5. Contact support if account locked

FAQ

Can I change my username?

Yes, but only once every 30 days. After setting or changing your username, you must wait 30 days before changing it again.

Do I need a username?

No, usernames are optional. However, you need a username to share your collection publicly and for friends to find you easily.

What happens if I don't set a username?

You can still use all collection and marketplace features, but you cannot share your collection with a custom URL, and friends cannot search for you by username.

Can I use special characters in my username?

Only letters, numbers, hyphens (-), and underscores (_) are allowed. No other special characters permitted.

Is my username case-sensitive?

No. Usernames are case-insensitive. JohnDoe and johndoe are the same username. You can change capitalization anytime without cooldown.

Can someone steal my username?

No. Once you set a username, it's yours until you change it or delete your account. Usernames are unique.

What if my desired username is taken?

Try variations: add numbers, underscores, or descriptive words. Example: johndoejohn_doe or johndoe_retro.

Can I reserve multiple usernames?

No. Each account can only have one username. You cannot reserve additional usernames.

What happens to my username if I delete my account?

Your username becomes available for others to use after your account is fully deleted (30-day purge period).

Can admins change my username?

Admins can change your username in exceptional circumstances (harassment, impersonation, technical issues). Contact support if needed.

Why can't I use "admin" as my username?

"admin" and similar terms are reserved to prevent impersonation of staff and protect system integrity. See reserved username list above.

Does changing my username affect my marketplace listings?

Yes. Your username updates across all listings, transactions, and messages. This happens automatically.

Can I have the same username as someone on another platform?

Yes. RTC Collector usernames are independent of other platforms. Username availability is only checked within RTC Collector.