Skip to content

Project Keys

Project keys grant access to all scripts in a project. When a user provides a valid project key to the loader, they can fetch any script belonging to that project. Project keys are stored in the project_keys table and can be created via the dashboard or Discord /whitelist command.


PropertyTypeDescription
keystringUnique key value (shown once at creation)
statusstringactive, suspended, expired, or paused
discord_idstringLinked Discord user ID
discord_usernamestringDiscord username for display
discord_avatarstringDiscord avatar URL
hwidstringHardware ID binding (auto-captured on first use)
user_notestringInternal note visible in dashboard
is_activebooleanWhether the key is active
is_blacklistedbooleanBlacklisted keys are rejected
max_usesnumber-1 = unlimited; else max loader fetches
usage_countnumberCurrent usage count
hwid_reset_countnumberNumber of HWID resets performed
expires_atnumberUnix timestamp; null = never expires
is_premiumbooleanMarks premium keys
tagsJSONArray of string labels
metadataJSONCustom key-value data
daily_limitnumberOptional daily usage cap (-1 = unlimited)

MethodEndpointDescription
GET/api/projects/:projectId/keysList keys (supports status, search, tag, limit, offset)
GET/api/projects/:projectId/keys/:keyValueGet single key details
POST/api/projects/:projectId/keysCreate key(s) (body: count, discord_id, discord_username, user_note, expires_in_days, max_uses, active_after)
PUT/api/projects/:projectId/keys/:keyValueUpdate key
DELETE/api/projects/:projectId/keysDelete keys (body: { keys: string[] })
POST/api/projects/:projectId/keys/:keyValue/reset-hwidReset HWID binding
POST/api/projects/:projectId/keys/:keyValue/transferTransfer key to another Discord user (body: { discord_id, discord_username })

  1. Open your project
  2. Go to the Keys section
  3. Click Create Key or Generate Key
  4. Configure key fields (discord_id, user_note, expires_in_days, max_uses, etc.)
  5. Click Create
  6. Copy the key immediately—it’s shown only once

Use the /whitelist command to create or assign a key to a Discord user. Requires project access via the Discord bot.


StatusMeaning
activeKey works normally
suspendedKey is revoked; loader returns error
expiredPast expiration date; loader returns error
pausedTemporarily paused (supports auto_resume_at)

You can manually set status to suspended to revoke a key without deleting it.