📖 Documentation

How to Use

Everything you need to know about using Ends Town Hall — only real features, no assumptions.

1 Create Your Account

Option A — Sign Up with Email
Go to Sign Up and enter your email, username, and password. You'll receive a 6-digit verification code at your email. Enter the code on the verification page to activate your account.
Option B — Sign Up with Discord
Click "Continue with Discord" on the signup page. You'll authorize through Discord, then receive a verification code at your Discord email. Enter the code to complete signup. Your Discord username and avatar will be imported automatically.
Tip: If you sign up with email first, you can connect your Discord account later from the Dashboard or Account Settings.

2 Logging In

Email & Password
Go to Login and enter your credentials. If you have 2FA enabled, you'll receive a 6-digit code at your email — enter it to complete login.
Discord Login
Click "Continue with Discord" to log in through Discord. If 2FA is enabled, you'll be redirected back to enter a verification code sent to your email.
Forgot Password?
Go to Forgot Password, enter your email, and you'll receive a reset code. Enter the code and set a new password.
Security: After 5 failed login attempts, your account is temporarily locked for 15 minutes. You'll receive an email notification.

3 Your Dashboard

Account Info
Your Dashboard shows your username, email, account role, and when you joined. This is your home base.
Discord Connection
If you haven't linked Discord yet, you'll see a "Connect Discord" button. Connecting imports your Discord username and avatar, and locks your display name to match your Discord identity.
Active Sessions
View all devices currently logged into your account. You can see the browser, device type, IP address, and last activity time. Revoke any session you don't recognize, or revoke all sessions at once.
Security Status
See whether your email is verified and if Two-Factor Authentication is enabled. Both are recommended for full account security.

4 Account Settings

Profile Tab
Update your username and display name. If Discord is connected, these fields are locked to your Discord identity. You can disconnect Discord to regain manual control.
Security Tab — Passwords
If you signed up with email: Change your password by entering your current password and a new one.
If you signed up with Discord only: Set a password for the first time. Click "Send Verification Code", enter the code from your email, then create your password.
Security Tab — Change Email
Enter your new email address. A verification code is sent to your current email for security. Enter the code to confirm the change.
Security Tab — Two-Factor Authentication (2FA)
Toggle 2FA on to require a 6-digit email code every time you log in (both email/password and Discord login). To enable, you'll first verify with a code sent to your email. To disable, just toggle it off.
Sessions Tab
Same as the Dashboard sessions view — see and manage all active sessions.
Account Tab — Delete Account
Permanently delete your account and all associated data. This action cannot be undone.

5 Fingerprint Scanner

Try the Live Demo
Visit the Demo Page and click "Run Full Scan". The scanner collects 700+ signals from your browser across 28 categories — including your GPU model, fonts, screen resolution, audio fingerprint, WebRTC data, and more. No account required.
What Gets Scanned
The 28 categories are: Navigator, Screen, WebGL (GPU), Canvas, Audio, Fonts, Codecs, Storage, Battery, Network, Permissions, Math, Features, Touch, CPU, WebGPU, WebRTC, CSS, CSS Support, Media, Sensors, Speech, Intl, Text Metrics, Crypto Performance, Event Loop, WASM Performance, and Timing. Each category collects multiple signals that combine into a unique fingerprint hash.
Server-Side Analysis (IPQualityScore)
On top of client-side signals, your IP is analyzed by IPQualityScore for VPN/proxy/Tor detection, fraud scoring (0-100), bot detection, ISP identification, and geolocation. This adds approximately 20 additional server signals.
Export Results
After a scan, click "View Full JSON" to see all raw data. You can copy and save this for your records.
Signal counts vary by browser: Chrome Desktop typically shows 700+ signals, Firefox ~600+, and Safari/Mobile fewer due to API restrictions (no Battery API, limited WebGL).

6 Plans & Pricing

Free Plan — $0/month
1 Discord server, ~500 signals (15 categories), Canvas & WebGL fingerprinting, OS & Browser detection, VPN/Proxy detection via IPQS, 100 verifications per month. Good for trying things out.
Pro Plan — $15/month
5 Discord servers, ~660 signals (22 categories), full WebRTC IP exposure, impossible travel detection, trackable links, bot detection, unlimited verifications. For servers that need real protection.
Enterprise Plan — $49/month
10 Discord servers, 700+ signals across all 28 categories, GPU/CPU hardware profiling, anti-detect browser detection. Best for large communities and networks.
View full plan comparison: See Pricing Page →

7 Discord Bot

Verification Flow
When a member joins your server, they click a "Verify Now" button in your verification channel. The bot generates a secure 10-minute token and sends them to the Ends Town Hall website. There, they complete an hCaptcha and the fingerprint scanner runs automatically. The bot checks the fingerprint against banned users, runs risk scoring, and either assigns the Verified role or blocks the attempt. Everything is logged to your dashboard (and to #security-logs in Discord if you chose that during setup).
Bot Setup
When the bot joins your server, it automatically posts a setup embed with two options: Auto Setup (creates all roles, channels, and verify button for you) or Manual Setup (configure everything yourself from the dashboard). After auto setup, the bot asks you to choose where logs go (Discord, dashboard, or both) and where mod commands work. You can change these anytime on your Server Settings page under Preferences.

If roles or channels get accidentally deleted, go to your Server Settings page, run a Health Check, and click Re-run Auto Setup to recreate them.

?setupverify — Posts the verification embed with the "Verify Now" button in the current channel. Staff-only.
Alt Account Detection
When a user verifies, their device fingerprint is stored. If a banned user tries to verify on a new account using the same device, the bot automatically blocks them and alerts your mod team with the original ban details.
Risk Scoring
Every verification is scored 0-100 based on multiple signals: account age (< 7 days = blocked at verify button + risk score), IP velocity (5+ verifications/hour flagged), impossible travel (same fingerprint in different countries within 6 hours, Pro+ only), browser language vs IP country mismatch, VPN/proxy detection, and bot/automation detection. High-risk scores (50+) trigger staff alerts.
Real-time Staff Alerts
When a high-risk verification occurs, the bot posts an alert with the user's risk score, VPN/proxy status, and account age. If your log destination includes Discord, alerts go to #security-logs. Alt account blocks generate detailed alerts showing which original account the device is linked to. Full details including IP, ISP, and location are only visible to the server owner on the dashboard — never shown in Discord for privacy.
Contact Support
Need help? Any user can DM the Ends Town Hall bot to open a support ticket with the ETH team. This is for contacting the platform — server owners and mods can use it to report issues, ask questions, or get setup help. Tickets include read receipts, queue position, and priority levels.
Link & Phishing Detection
The bot scans messages for malicious links using a 7-API security stack: Google Safe Browsing, VirusTotal, URLScan.io, IPQualityScore, AbuseIPDB, AlienVault OTX, and Hybrid Analysis. It detects typosquatting (disc0rd.com), known phishing URLs, social engineering patterns (crypto scams, prize scams), and suspicious file attachments. When a threat is found, the message is deleted automatically. If your log destination includes Discord, Ban/Warn/Dismiss buttons appear in #security-logs for mods to act on.
Ban Appeals
When a user is blocked during verification (alt detection or banned fingerprint), they receive a message explaining why. They can DM the bot to submit an appeal, which creates a ticket for the ETH team to review and forward to the server owner for a decision. Appeal history is tracked per user.
Data retention: Verification data is automatically purged after 90 days. Active/recent verifications are kept.

8 Server Settings

Security Toggles
From your Server Settings page, you can toggle: Block VPN Users, Block Proxy Users, WebRTC Detection (detect real IP behind VPNs), Auto-Block High Risk (block users with risk score above 70), and Require hCaptcha. Changes take effect immediately for the next verification.
Health Check
Click "Run Check" to verify your server setup is correct. It checks bot permissions, role hierarchy, whether Verified/Unverified roles exist, and verify channel exists. If your logs include Discord, it also checks for #security-logs. If anything is missing, a Re-run Auto Setup button appears to fix it automatically.
Preferences
Change where your verification logs are sent — Website Dashboard Only (recommended, shows full details including IP/ISP), Discord Server Only (summary with no IP), or Both. Also set where mod commands work — Discord, dashboard, or both. These are initially set during bot setup but can be changed here anytime.
Channel Management
Select your Welcome Channel (where verified users are greeted) and Main Chat Channel. Pro and Enterprise plans can also configure hidden channels that unverified users can't see.

9 Mod Panel

Accessing the Panel
Go to Mod Panel. You need to be logged in with your Discord account linked and have a Moderator (or higher) role in the server. If you moderate multiple servers using ETH, you'll see a server picker. The panel URL auto-loads the right server if you click through from Servers page.
Overview Tab
Your home base. Shows 4 live stat cards: Total Verifications, Threats Blocked, VPN Detections, and Alt Accounts Found. Below that: Recent Verifications (latest 5 attempts with pass/fail and risk) and Recent Activity (live event feed). Pro/Enterprise servers also see an AI Security Briefing button — click "Generate Report" for an AI-powered 24-hour summary of your server's threat landscape.
Verifications Tab
Every verification attempt your server has ever had — user, timestamp, pass/fail result, risk score (with color bar), location flag, and active flags (VPN, proxy, alt, new account). Filter by All / Verified / Blocked / Alts. Click any row to jump to that user's lookup. Load More button pages through history.
User Lookup Tab
Enter any Discord User ID to pull their full record: verification history, risk score, device info, flags, and IP/ISP (owner-only — mods see masked IPs). Action buttons below the profile: ⚠️ Warn (DMs the user), 🔒 Suspend (removes Verified role, adds Suspended), 🔓 Unsuspend, 👢 Kick, 🔨 Ban (flags fingerprint for alt detection going forward). All actions require a reason and are permanently logged.
Activity Tab
Real-time event feed for your server — verifications, blocks, security alerts, and bot events with timestamps. Useful for watching live during a raid or suspicious activity window.
Analytics Tab
Charts and trends: Verification Trend over 30 days (line chart), Threat Breakdown by category (pie/doughnut), VPN/Proxy Providers table (provider name, ASN, attempt count, block rate, avg risk score), and Raid Events log. Helps identify patterns, peak attack windows, and top threat sources.
Members Tab
All verified members in one searchable table — username, verification status, risk score, verified date, and device type. Search box filters in real time. Click any member's name to jump to their User Lookup. Export as CSV for offline records. Useful for auditing your member base or checking who verified recently.
Mod Logs Tab
Complete history of every mod action taken through the dashboard — bans, kicks, warns, suspensions, unsuspensions. Filter by action type. Shows target user, which staff member took the action, the reason given, and timestamp. Export as CSV. Permanent record — cannot be edited or deleted.
Alerts Tab
Two sections. Account Integrity Alerts — auto-generated alerts from the bot for suspicious patterns (high risk scores, alt detections, VPN spikes, raid indicators). Custom Alerts — create your own rules: choose a type (Risk Score Above, Alt Detected, Raid, VPN Spike), set a condition/threshold, and enter a Discord webhook URL. The bot will POST to that webhook when the condition is triggered. Enterprise only.
Audit Log Tab
Full server event history captured by the bot: role adds/removes, nickname changes, message edits/deletes, voice joins/leaves/moves/streams, member joins/leaves, channel creates/deletes, and all mod actions (ban, kick, warn, suspend, unsuspend). Filter by event type or a specific User ID. Paginate with Older/Newer buttons. Auto-refreshes every 15 seconds — you can watch events come in live.
Mod Guide Tab
Built-in quick reference for your mod team. Covers: all mod actions and what they do, how to take action from dashboard vs Discord, a tab-by-tab explanation of the panel, all 21 audit event types with color coding, permission tiers (owner vs mod vs member), what the bot does automatically, and what mods cannot do. Shareable link — send it to new mods to get them up to speed.
Modmail Tab
Dedicated support ticket system for your server members. Members DM the bot to open a ticket — you handle it from the Modmail dashboard. Features: live ticket list with unread badges, real-time message polling, staff notes (private notes visible only to mods, not the member), investigation panel (view the member's verification data and risk score inline), AI features (summarize thread, generate reply suggestions, sentiment analysis on Pro/Enterprise), response templates (quick-reply buttons for common responses), quick actions (ban/kick/warn directly from the ticket), SLA timers (response-time tracking with color escalation, Pro/Enterprise), seen tracking (marks messages as read), and a staff leaderboard showing tickets resolved per staff member. Access via the 📩 Modmail tab — unread count badge shows in the tab when new tickets arrive.
Permissions
Server owners have full access — all tabs, all actions, can see unmasked IP/ISP/location, can change settings and billing. Moderators (assigned via Discord role) can access all mod panel tabs and take actions, but IP addresses are masked (xxx.xxx.xxx.xxx). Regular members have no access to the mod panel — only the verification page.
Slash commands: The bot supports slash commands in Discord for fast actions without opening the dashboard. Use /warn, /kick, /ban, /suspend, /unsuspend, and /lookup directly in Discord. All slash command actions are logged identically to dashboard actions.

10 Server Structure & Roles

Roles the Bot Creates
During auto-setup, the bot creates (or expects) these roles in your server: @Verified — assigned after passing verification, grants access to main channels; @Unverified — assigned on join, sees only the verify channel; @Suspended — used by mods to restrict a member without banning; @Alternate Account — auto-assigned when alt detection fires. Role hierarchy matters — the bot must be above all of these roles to assign/remove them.
Channels the Bot Uses
#verify — where unverified members see the verification button (Unverified only). #security-logs — where the bot posts alerts, flags, and action buttons (mods only, if Discord log destination is enabled). Welcome Channel — configured in Settings, where the bot greets newly verified members. Main Chat Channel — configured in Settings, used for certain bot announcements.
Hidden Channels (Pro/Enterprise)
Pro and Enterprise servers can designate specific channels as hidden — the bot ensures @Unverified members cannot see or access them. Configure this in Server Settings → Channel Management. Useful for community channels, staff areas, or any content you want to gate behind verification.
Self-Assign Roles
The ETH bot includes 10 self-assign roles for community identity: Developer, Cybersecurity, Gamer, Student, Lofi Listener, Jazz Listener, PS5, PS4, Xbox, PC. Members can assign these to themselves via bot commands in Discord after verifying. These are cosmetic/interest roles — they have no security permissions.
Health Check tip: After any role or channel changes in your Discord server, run the Health Check in Server Settings to confirm everything is still configured correctly. It will flag any broken links and offer a Re-run Auto Setup button if needed.

11 Coming Soon

🚀 Features In Development

The following features are actively being built and will be documented here when they launch.

  • Stripe billing — Pro and Enterprise subscription payments
  • Custom branding for verification pages (Enterprise)
  • Ban appeal review workflow for server owners
  • Advanced webhook configuration for external integrations
Stay updated: Join the Discord server for announcements when new features launch.