Back to docs
API Reference
The LuaCrypt API allows you to validate keys, deliver scripts, and manage your account programmatically.
Base URL
https://luacrypt.dev/apiValidate Key
POST
/validateValidates a license key and optionally binds it to a HWID.
Request body:
{
"key": "XXXX-XXXX-XXXX-XXXX", // required - the license key
"hwid": "USER_HARDWARE_ID", // optional - hardware ID for binding
"project": "project-slug" // optional - project identifier
}Response (200):
{
"valid": true,
"user": "username",
"plan": "pro",
"expires_at": "2025-12-31T23:59:59Z",
"hwid_locked": true
}Response (403):
{
"valid": false,
"reason": "Key expired / HWID mismatch / Key not found"
}Load Script
GET
/scripts/:id/loadFetches the obfuscated script content for execution.
Query parameters:
// Optional: key for key-gated scripts
GET https://luacrypt.dev/api/scripts/abc123/load?key=XXXX-XXXX-XXXX-XXXXExample (Roblox):
local scriptUrl = "https://luacrypt.dev/api/scripts/abc123/load"
local scriptContent = game:HttpGet(scriptUrl)
loadstring(scriptContent)()Generate Keys (Authenticated)
POST
/keysRequires authentication with your API key (found in your dashboard settings).
Request headers:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonRequest body:
{
"project_id": "project-uuid",
"count": 10,
"prefix": "MYKEY",
"expires_in_days": 30,
"hwid_locked": true
}Rate Limiting
API requests are rate-limited based on your plan: Free: 60 req/min | Pro: 300 req/min | Premium: 1000 req/min. Rate limit headers are included in every response.