circle-info
Syntrix Is Officially Out

custom gui

If you want your own UI design, you can write a custom Lua key system and paste it directly into the dashboard. Syntrix will serve it instead of the preset when your loader fetches the GUI.


Setting Custom Code

  1. Open your script in the dashboard

  2. Click Key System

  3. Select the Custom Code tab

  4. Paste your Lua code

  5. Save

When saved, GET /api/scripts/:id/keysystem-gui will return your code instead of the generated preset.


Required Variables

Your custom GUI must interact with the Syntrix API. Use these pre-filled variables (swap in your actual script ID):

local ScriptId    = "YOUR_SCRIPT_ID"
local ValidateUrl = "https://dev.syntrx.xyz/api/execute"
local GetKeyUrl   = "https://dev.syntrx.xyz/getkey/YOUR_SCRIPT_ID"
local DiscordUrl  = "https://discord.gg/yourserver"

You can fetch all of these dynamically from the API docs endpoint:

Returns:


Validation Flow

Your GUI must follow this exact sequence to get the payload:

1

Step 1 — Get a Challenge

Challenges expire after 120 seconds. Always fetch a fresh one before validating.

2

Step 2 — Send the Validate Request

3

Step 3 — Handle the Response


Executor Compatibility

To support multiple executors in your request function detection:


Error Handling

The validate endpoint returns these errors you should handle in your UI:

error value

Meaning

Invalid license key

Key doesn't exist

License key is expired

Key past expiry date

License key is revoked

Key manually revoked

Usage limit reached

One-time or limited key exhausted

Bound to different hardware

HWID mismatch

You are banned

HWID banned by script owner

Script unavailable

Script unpublished or inactive

Missing challenge

You forgot to include the challenge token

Invalid or expired challenge

Challenge expired (fetch a new one)


Full Minimal Example