Skip to content
SoteriaSoteria

Everyone else built one. We built the one.

Ship now
Documentation

Harder to hit. Lighter to ship.

Layered VM protection with a smaller footprint than the other obfuscators we tested.

1.8×

smaller than the smallest other obfuscator we tested

Soteria
133 KB
Others, best
240 KB
Others, average
335 KB

Based on our internal testing. Results may vary.

In every build

  • Encryption
  • Control flow flattening
  • Anti-tamper
  • Opcode fusion
  • Instruction shuffling
  • Built-in macros

More than an obfuscator

Every plan includes the tools to license your scripts and read everyone else's.

Oracle

A whitelist service with zero bypasses. Key systems, HWID locks and tamper detection, all handled so there is nothing to build yourself.

$0Revenue generated for developers
  • Anti-Tamper

    Kills execution the moment anything is modified. Runs throughout, not just at startup.

  • Full Encryption

    Everything encrypted end-to-end. Requests, responses, all system comms.

  • HWID Locking

    Keys tied to a specific machine. Leaked keys are useless elsewhere.

  • Service Disabling

    Kill a service and every script under it goes down instantly.

  • Key Generation

    Generate, revoke, and manage keys directly through Oracle.

  • Bypass Prevention

    Detects hooks, spoofs, and patches. Shuts down before they get anywhere.

Genesis

A Luau decompiler with output so readable it looks like a human wrote it.

  • Built in Rust

    Fast decompilation, even on large scripts.

  • Smart Reconstruction

    Trained on full source code of real, shipped games.

0Scripts decompiled
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")

local RoundConfig = require(ReplicatedStorage.Shared.RoundConfig)
local RoundState = ReplicatedStorage.RoundState

local function StartRound(MapName: string)
    -- Line 7, Name: StartRound
    -- Upvalues: RoundState, RoundConfig, Players
    -- Constants: "Map": string, "Value": string, "InProgress": string, "Duration": string, 0: number, -1: number, "TimeLeft": string, "GetPlayers": string, "MinPlayers": string, "task": string, "wait": string, 1: number

    RoundState.Map.Value = MapName
    RoundState.InProgress.Value = true

    for TimeLeft = RoundConfig.Duration, 0, -1 do
        RoundState.TimeLeft.Value = TimeLeft

        if #Players:GetPlayers() < RoundConfig.MinPlayers then
            break
        end

        task.wait(1)
    end

    RoundState.InProgress.Value = false
end

return StartRound

Simple, transparent pricing

Pay only for what you use or go with a membership and save big.

Pay as you go

$1/ balance

$0.10 to $1.00 per obfuscation, based on size

No subscription. Basic support.

Add Balance

Plus

$3.33/month

$39.99 billed yearly $59.88 Save 33%

Great for solo developers shipping regularly.

  • 33 included obfuscations every month
  • $4.99 included credit every month
  • Obfuscation API access
  • Oracle whitelist: 1 service, 5,000 keys
  • Genesis decompiler access
Get Plus

Pro

Most Popular
$13.75/month

$164.99 billed yearly $239.88 Save 31%

For serious developers who ship a lot of protected scripts.

  • 322 included obfuscations every month
  • $19.99 included credit every month
  • Obfuscation API access
  • Oracle whitelist: 3 services, 50,000 keys
  • Genesis decompiler access
Get Pro

Max

Best Value
$24.00/month

$287.99 billed yearly $479.88 Save 40%

Built for teams and studios protecting large codebases.

  • 999 included obfuscations every month
  • $39.99 included credit every month
  • Obfuscation API access
  • Oracle whitelist: 10 services, 150,000 keys
  • Genesis decompiler access
Get Max
Compare all plan features
  • Card
  • 10 cryptocurrencies

Payments are processed securely. All sales are final and non-refundable.

Frequently asked questions

Everything you need to know before getting started.

Yes. Soteria transforms the structure and appearance of your code without changing its behavior. All obfuscations are tested for runtime correctness before delivery. If something breaks, you'll know immediately.

Yes. Soteria transforms the structure and appearance of your code without changing its behavior. All obfuscations are tested for runtime correctness before delivery. If something breaks, you'll know immediately.

Soteria prioritizes protection strength and compact output over raw speed. The key differences are unique mutations and polymorphism, as well as one of a kind anti-tamper and security. Soteria has subdivisions including Oracle which is a whitelist service and Genesis which is a luau decompiler. These are features others don't offer together in one place.

No. Scripts are processed in memory and discarded immediately after obfuscation. We do not retain, log, or analyze your source code.

Scripts up to 10MB can be obfuscated, the same limit on every plan and with balance alone.

No. Balance you buy never expires, so use it at your own pace. Members also get included credit each month that is spent first and resets every billing period, so unused included credit does not carry over.

Genesis is Soteria's built-in Luau decompiler. It takes compiled Luau bytecode and converts it back into readable source code. It's built in Rust for speed and uses custom algorithms to generate variable names that reflect how they're actually used, rather than generic placeholders like v1 or v2. Genesis is available to users with a membership and is accessible directly from your dashboard.

Browse and search all FAQs

Code protected.
Available now.

One request, zero setup. Start obfuscating in minutes.

Get startedRead the docs
SoteriaSoteria

Products

  • Soteria
  • Pricing

Resources

  • Documentation
  • FAQ
  • Blog
  • Discord

Legal

  • Terms of Service
  • Privacy Policy
  • Cookie Policy
  • Acceptable Use
Soteria
Pricing
Log inGet Started