AltShield AltShield
Documentation

Documentation

Everything you need to know about verifying on a server that uses AltShield, and about setting AltShield up if you run one.

For members - how verification works

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:

Verification rules explained

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:

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:

Discord checks
CheckWhat it means
Discord account ageYour Discord account must be at least a minimum age. Checked automatically, nothing to connect.
Steam checks
CheckWhat it means
Steam account ageYour Steam account must be at least a minimum age.
Steam account connectedJust requires signing in with Steam, no other condition.
Owns Steam gameYou must own a specific game on Steam.
Minimum Steam games ownedYou must own at least a minimum number of Steam games.
Min. hours played in a gameYou must have at least a minimum number of hours played in a specific Steam game.
Min. total Steam hours playedYour total playtime across all your Steam games must meet a minimum.
Minimum Steam levelYour Steam level (from Steam Community XP/badges) must be at least a minimum.
No VAC banYou must not have a VAC ban on your Steam account.
No Community banYou must not have a Steam Community ban on your account.
No trade banYou 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.

Twitch checks
CheckWhat it means
Twitch account ageYour Twitch account must be at least a minimum age.
Twitch account connectedJust requires signing in with Twitch, no other condition.
Subscribed to your Twitch channelYou must be an active subscriber of the server's connected Twitch channel.
Not banned on your Twitch channelYou 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.

Riot Games checks
CheckWhat it means
Riot Games account connectedJust requires signing in with Riot Games, no other condition.
Minimum League of Legends summoner levelYour League of Legends summoner level must be at least a minimum.
Minimum League of Legends solo/duo rankYour current League of Legends solo/duo ranked tier (Iron through Challenger) must be at least a minimum.
Has League of Legends match historyYour 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.

For server admins - setting up AltShield

  1. Invite the bot to your server (link available from the Dashboard once you log in with Discord).
  2. Run /altshield setup in your server, or open the server from the dashboard directly.
  3. In the dashboard, configure:
    • Roles & channels - which role to grant on success, an optional role to give unverified members while they wait, a fallback channel for the verification thread, and a log channel for results.
    • Verification requirements - the rule builder described above, plus an optional CAPTCHA toggle that adds a basic anti-bot check before the submit button.
    • Twitch channel connection - only needed if you want the subscriber/ban checks; a one-time Twitch login for your own channel, separate from the login members do.
    • Alt-account detection - links a verified Steam/Twitch/Riot Games account to the first Discord account that used it, so a second Discord account reusing the same Steam/Twitch/Riot Games account can be blocked, flagged, held for manual review, kicked, or banned from the server.
    • Messages and Branding - customize the wording and (on higher plans) the look of the verification page.
  4. New members can get a private verification thread automatically on join (if enabled and a verification channel is set), and can always request their own link with /verify, or by clicking a persistent panel posted with /verifypanel. AltShield never delivers links by DM.

Slash commands

CommandWhoWhat it does
/verifyAnyoneGet your own verification link.
/altshield setupManage ServerLink to this server's dashboard.
/altshield statusManage ServerVerification stats and current plan.
/verifypanelManage ServerPosts a persistent "Verify" button in the current channel.
/sendverify user:@someoneManage ServerGenerate a fresh verification link for one member (posts a private thread if configured; never sent by DM).

Plans

PlanIncludes
FreeThe full rule engine - all checks and logic groups above, unlimited.
PlusEverything 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.

Get AltShield Server Plus

Privacy & data

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.