Authentication System

QELT Hub supports two primary authentication methods, unified under a single JWT-based session system. Users can connect via Web3 wallet or create an account with email and password.

Overview

QELT Hub provides a flexible authentication system that caters to both crypto-native users and traditional web users. Both methods result in a unified JWT session, giving equal access to all platform features.

2
Auth Methods
JWT
Session Tokens
5 min
Auto-Refresh Interval

Email/Password Authentication

Traditional email/password authentication with email verification and automatic custodial wallet creation.

1

Registration

User provides email, username, and password (minimum 12 characters with uppercase, lowercase, number, and special character).

2

Email Verification

A verification token is sent via email. The user must click the link to verify their address.

3

Login

User authenticates with email + password. A JWT token is set as an HTTP-only cookie.

4

Custodial Wallet Creation

After successful registration, the system automatically creates a custodial wallet with encrypted private key storage.

5

Password Reset

Users can request a password reset via a secure token sent to their email.

Password Requirements

  • Minimum 12 characters
  • At least one uppercase letter
  • At least one lowercase letter
  • At least one number
  • At least one special character

Web3 Wallet Authentication

Crypto-native users can connect their existing Web3 wallet for seamless authentication without creating a traditional account.

1

Wallet Connection

User connects a Web3 wallet (MetaMask, Coinbase Wallet, Trust Wallet, etc.) via WalletConnect/wagmi.

2

Message Signing

The backend generates a unique message with a timestamp. The user signs it with their wallet's private key.

3

Signature Verification

The backend verifies the signature matches the claimed wallet address using cryptographic recovery.

4

JWT Issuance

Upon successful verification, a JWT token is set as an HTTP-only cookie.

5

Auto-Authentication

On subsequent visits, if the wallet is already connected and a valid JWT exists, the user is auto-authenticated without needing to sign again.

Supported Wallets

MetaMask

Browser & Mobile

Coinbase Wallet

Browser & Mobile

Trust Wallet

Mobile

Phantom

Browser & Mobile

WalletConnect

Universal Protocol

Session Management

Both authentication methods share the same session management system, ensuring a consistent experience across the platform.

FeatureDetails
JWT StorageHTTP-only cookies (not accessible via JavaScript)
Auto-RefreshTokens refreshed every 5 minutes while user is active
LogoutClears JWT cookie and redirects to home page
Session TrackingRecords IP address, user agent, and last active time
CSRF ProtectionVia SameSite cookie attributes

Auth Providers

Current and planned authentication providers for QELT Hub.

ProviderStatus
Wallet (MetaMask, WalletConnect, etc.)✅ Live
Email/Password✅ Live
Google OAuth🔜 Planned
Twitter OAuth🔜 Planned
GitHub OAuth🔜 Planned

Next Steps

Learn about the wallet system that powers both external and custodial wallet interactions.