Bloxlink API Bypass

Bloxlink API Bypass

Discord Verify normally uses Bloxlink to check whether a player is currently in your Discord server. Approved accounts can optionally bypass the Bloxlink API and use Discord member information maintained by Bloxlink instead.

Bloxlink is still required. It remains responsible for linking Roblox and Discord accounts, assigning the verified role, and setting server nicknames.

Important

This mode must be enabled for your Discord Verify account. Completing the steps below does not enable it automatically.

1. Configure Bloxlink names

Set Bloxlink’s global nickname template so the nickname starts with {roblox-name}. Discord Verify supports either the Roblox username by itself or the format {roblox-name} (@...).

  • Do not add a prefix or any suffix other than (@...).
  • Do not use {display-name}.
  • Ensure Bloxlink can update member nicknames through Discord’s role hierarchy.

Discord Verify ignores everything from the first (@ onward, then searches for one exact Roblox username after ignoring letter case. The suffix does not need a closing parenthesis, so nicknames truncated at Discord’s 32-character limit are supported. Any other nickname format prevents a match.

2. Configure the verified role

Choose the Bloxlink-managed role that identifies verified members.

  • Ensure Bloxlink can manage the role through Discord’s role hierarchy.
  • Copy the role’s Discord ID for account provisioning.
  • Remove the Change Nickname permission from ordinary members so they cannot create a matching Roblox username themselves.

3. Configure the Discord Verify bot

  • Add the Discord Verify bot to the same server as Bloxlink.
  • Set DISCORD_BOT_TOKEN in the service environment.
  • Enable the privileged Server Members Intent (GUILD_MEMBERS) in the Discord Developer Portal. The bot uses the GUILDS and GUILD_MEMBERS intents.
  • Provision the account with the exact Discord server ID and verified-role ID. Each configured Discord server maps to one Roblox universe.

Enable the bypass only after the nickname, role, bot, and account configuration are complete.

How verification works

The current SDK sends the numeric Roblox user ID and current Roblox username:

GET /v1/verify/{user_id}?username={url_encoded_username}
Authorization: Basic {account_token}

The Roblox user ID is the authoritative identity. The username is used only to find an unbound Discord member with the configured role and matching nickname. After one unique match, Discord Verify binds that observation to the Roblox user ID for later requests.

Discord role-and-nickname observations are retained for 28 days. A cached result can therefore remain valid after a member loses the role or leaves the server. Use the standard Bloxlink flow instead if every result must reflect immediate membership changes.

Ambiguous matches, Discord failures, timeouts, and rate limits return an unverified result rather than falling back to Bloxlink:

{"verified": false}

Legacy SDK requests without a username use an existing unexpired Roblox-ID binding when available. Otherwise, they fall back to Bloxlink.

Disabling the bypass stops using and refreshing cached observations. Existing observations remain stored until they expire naturally.

Health checks

For an account using the bypass, the /health endpoint checks both database access and Discord Gateway connectivity. A healthy response is:

{"status":"ok","database":"ok","discord":"connected"}

The endpoint returns HTTP 503 when either dependency is unavailable for an authenticated bypass account. Bloxlink-only accounts report Discord as not_required and remain available during a Discord Gateway outage.