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.4×

smaller than the smallest other obfuscator we tested

Soteria
167 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.

  • 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.

$0Revenue generated for developers
Get Oracle access

Genesis

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

round-timer.luau
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
  • Built in Rust

    Fast decompilation, even on large scripts.

  • Smart Reconstruction

    Trained on full source code of real, shipped games.

0Scripts decompiled
Learn more

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.

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

Secure checkout. Instant activation.

Pro

Most Popular
$13.75/month

$164.99 billed yearly $239.88 Save 31%

For serious developers who ship a lot of protected scripts.

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

Secure checkout. Instant activation.

Max

Best Value
$24.00/month

$287.99 billed yearly $479.88 Save 40%

Built for teams and studios protecting large codebases.

  • $39.99 included credit every month
  • Obfuscation API access
  • Oracle whitelist: 10 services, 150,000 keys
  • Genesis decompiler access
  • Aletheia access
Get Max

Secure checkout. Instant activation.

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.

Code protected.
Available now.

One request, zero setup. Start obfuscating in minutes.

Get startedRead the docs
SoteriaSoteria

Products

  • Soteria
  • Oracle
  • Genesis
  • Pricing

Resources

  • Documentation
  • Blog
  • Discord

Legal

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