Everything you need to know about verifying on a server that uses AltShield, and about setting AltShield up if you run one.
AltShield never sends verification links by DM. When you join a server that set up a verification channel, you'll normally get a private thread there (visible only to you and staff) with a personal verification link. Either way, you can always get a fresh link yourself by running /verify in the server, or by clicking a "Verify" button on a pinned panel message if the server has one set up. To prevent spam, there's a 3-minute cooldown between requesting your own link this way - if you hit it, just wait a moment and try again. Staff can always generate you a link with /sendverify regardless of this cooldown.
Opening your link shows the "Requirements" the server has configured. Depending on the server, this can include:
Only the platforms the server's rules actually need are shown - if a server accepts more than one way to pass (for example "Steam OR Twitch"), you may not need to connect everything listed. A "Current status" section on the page shows which accounts are connected so far - it deliberately doesn't reveal whether that's actually enough to pass, so there's nothing to game. The submit button unlocks once there's nothing left you could still connect to change the outcome either way; verification happens automatically the moment that's true, so you rarely need to click it yourself.
Some servers also turn on a quick CAPTCHA as a basic anti-bot check right before the submit button. It's unrelated to the requirements above - solving it doesn't replace them, it just has to be done in addition before you can submit.
After submitting, you'll land in one of these states:
/verify again for a fresh one.A server's requirements are built from individual checks combined with logic groups. Understanding the groups helps make sense of what a "Current status" list is asking for:
N of the checks/groups inside have to pass (e.g. "at least 2 of: Steam connected, Twitch connected, owns 5+ Steam games").These can be nested arbitrarily, so a server might require something like "Discord account 7+ days old AND (Steam account 1+ year old OR owns a specific game)".
Checks a server can use:
| Check | What it means |
|---|---|
| Discord account age | Your Discord account must be at least a minimum age. Checked automatically, nothing to connect. |
| Check | What it means |
|---|---|
| Steam account age | Your Steam account must be at least a minimum age. |
| Steam account connected | Just requires signing in with Steam, no other condition. |
| Owns Steam game | You must own a specific game on Steam. |
| Minimum Steam games owned | You must own at least a minimum number of Steam games. |
| Min. hours played in a game | You must have at least a minimum number of hours played in a specific Steam game. |
| Min. total Steam hours played | Your total playtime across all your Steam games must meet a minimum. |
| Minimum Steam level | Your Steam level (from Steam Community XP/badges) must be at least a minimum. |
| No VAC ban | You must not have a VAC ban on your Steam account. |
| No Community ban | You must not have a Steam Community ban on your account. |
| No trade ban | You must not have a trade ban (or be on trade probation) on your Steam account. |
A couple of these depend on your Steam privacy settings: if your "Game details" privacy is set to private, AltShield can't see your owned games or playtime at all, which looks identical to owning nothing. If a check involving games/playtime keeps failing unexpectedly, try setting Steam → Edit Profile → Privacy Settings → "Game details" to Public and verifying again. The verification page always tells you when this might be the cause. Your Steam level and ban status, on the other hand, are always public - they aren't affected by any privacy setting.
| Check | What it means |
|---|---|
| Twitch account age | Your Twitch account must be at least a minimum age. |
| Twitch account connected | Just requires signing in with Twitch, no other condition. |
| Subscribed to your Twitch channel | You must be an active subscriber of the server's connected Twitch channel. |
| Not banned on your Twitch channel | You must not be banned/timed out on the server's connected Twitch channel. |
The two Twitch-channel checks ("Subscribed to..." / "Not banned on...") only work on servers where the server owner has connected their Twitch channel in the dashboard - if they haven't, those checks simply won't pass for anyone, with a message explaining why.
| Check | What it means |
|---|---|
| Riot Games account connected | Just requires signing in with Riot Games, no other condition. |
| Minimum League of Legends summoner level | Your League of Legends summoner level must be at least a minimum. |
| Minimum League of Legends solo/duo rank | Your current League of Legends solo/duo ranked tier (Iron through Challenger) must be at least a minimum. |
| Has League of Legends match history | Your account must have at least one recorded League of Legends match - filters out brand new or never-played accounts. |
These four checks are League of Legends-specific. Riot's own developer API doesn't currently offer equivalent Valorant checks (rank or match history) to any regular developer key - only "Riot Games account connected" and alt-account detection work for a Valorant-only account, since those only need your Riot ID, which is shared across both games. League of Legends data is also refreshed at most once a day per account (Riot's API has a daily rate limit) - if you've recently changed rank or level, it may take up to 24h to show up here.
/altshield setup in your server, or open the server from the dashboard directly./verify, or by clicking a persistent panel posted with /verifypanel. AltShield never delivers links by DM.| Command | Who | What it does |
|---|---|---|
/verify | Anyone | Get your own verification link. |
/altshield setup | Manage Server | Link to this server's dashboard. |
/altshield status | Manage Server | Verification stats and current plan. |
/verifypanel | Manage Server | Posts a persistent "Verify" button in the current channel. |
/sendverify user:@someone | Manage Server | Generate a fresh verification link for one member (posts a private thread if configured; never sent by DM). |
| Plan | Includes |
|---|---|
| Free | The full rule engine - all checks and logic groups above, unlimited. |
| Plus | Everything in Free, plus custom welcome/success/failure message text, verification analytics (funnel + top failure reasons), custom branding (your own logo/color on the verification page), and no ads on the verification page. |
Plus is billed through Stripe - click Get AltShield Server Plus below, sign in with Discord, pick your server, and pay securely on Stripe's own page. Manage or cancel anytime from your server's dashboard.
AltShield only ever uses the official OAuth login flow for Discord/Steam/Twitch/Riot Games - it never sees or asks for your password on any platform. What gets stored per verification session is limited to what the configured checks actually need: your Discord account age/ID, and, only if you connected them, your Steam ID / account age / owned games list (or playtime), your Twitch ID / account age, and your Riot ID/PUUID / League of Legends summoner level / solo-duo rank / match count.
If a server has alt-account detection enabled, your Steam ID, Twitch ID, and/or Riot PUUID (not your Discord messages or any other activity) may be compared against other verification attempts to catch the same real-world account being used to create multiple Discord accounts - either within that one server, or across every server using the same bot, depending on how that server configured it.
Full legal details: Terms of Service and Privacy Policy.