General · Before you start

Escrow & editing

What FiveM asset escrow means for a resource you bought, which files stay editable, and what to do when you need a change the config does not expose.

Paid resources here ship with FiveM asset escrow. This page explains what that means in practice — what you can change, what you cannot, and where the seams are deliberately left open.

What escrow does

FiveM's asset escrow encrypts the resource's gameplay code so it runs on your server without being readable or redistributable. You will see a small .fxap file in the resource folder; that is the escrow key blob, and it must stay where it is.

Escrowed .lua files look like binary if you open them. That is expected, not corruption.

What stays editable

Escrow is not all-or-nothing. Each resource declares an escrow_ignore list in its fxmanifest.lua, and everything on that list ships as plain, readable, editable source.

The convention across my resources is that configuration and integration code are always excluded — typically:

escrow_ignore {
    'config/**/*',
    'bridge/**/*',
    'types.lua',
}

That means:

  • config/ — every option, with its comment, readable and editable in place.
  • bridge/ — the adapters that talk to your framework, inventory, targeting resource, menu and phone. Readable, editable, and copyable.
  • types.lua — the type annotations, so the Lua language server can check any bridge you write.

Check the resource's own fxmanifest.lua for its exact list.

Tip

If you want to know what a resource can be made to do without asking, read its bridge/ directory and its config/ comments. Between them they describe every seam that was left open on purpose.

Supporting a resource that is not on the list

Because bridge/ is outside escrow, adding support for a framework, inventory, targeting resource, menu or phone that a script does not ship with does not require access to the encrypted code.

The pattern is the same everywhere:

  1. Copy the closest existing bridge file to a new name.
  2. Adapt the handful of functions it exposes.
  3. Point the matching config option at your new name.

Each bridge dispatcher carries the exact instruction as a comment at the top of the file. dd-cards' version of this is documented at Custom bridges.

What you cannot do

  • Read or modify the gameplay logic under modules/ (or equivalent).
  • Reuse the code in another resource.
  • Remove or relocate the .fxap file.

Reporting a limitation

If the behaviour you need genuinely is not reachable from config/ or bridge/, that is worth telling me about rather than working around — a missing config option is usually a fix, not a feature request. Include what you are trying to achieve and what you tried; see Getting support.