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 Nicknamepermission 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_TOKENin the service environment. - Enable the privileged Server Members Intent (
GUILD_MEMBERS) in the Discord Developer Portal. The bot uses theGUILDSandGUILD_MEMBERSintents. - 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.