Business
Working as a freelance FiveM developer
Run freelance FiveM projects safely: writing a clear scope, estimates and milestones, deposits and payment, who owns the code (licence vs full rights), escrowed delivery, revisions, support periods, confidentiality, access to client servers, and handling disputes.
Overview
Commission work is where many FiveM developers start — and where most disputes happen. Nearly all of them come from things that were never written down: what exactly is included, who owns the result, what happens if the client changes their mind. A one-page agreement prevents most of it.
The one-page agreement
| Section | Write down |
|---|---|
| Scope | Features, framework, dependencies, UI, what is excluded |
| Price and schedule | Total, milestones, expected dates |
| Payment | Deposit amount, when each milestone is paid, method |
| Delivery | Open source or escrowed; how files are handed over |
| Ownership | Client gets a licence, or full rights including resale |
| Revisions | How many rounds; what counts as a change request |
| Support | Bug-fix period after delivery; paid support after that |
| Confidentiality | Whether you may show the work in your portfolio |
Deposits and milestones
A deposit (often a third to half of the price) protects your time; milestone payments protect the client. Split larger jobs into deliverables the client can test — for example backend, then UI, then polish — and continue when each is approved and paid.
Who owns the code
- Licence: the client may use and modify it on their servers; you keep the right to reuse your own generic code.
- Full rights: the client owns it and may resell it; charge more.
- Escrowed delivery keeps your code protected but limits the client’s edits — agree which files stay editable.
Escrow details: asset escrow.
Server access
Develop on your own test server with a copy of the needed resources. If you need the client’s server, ask for the minimum (a txAdmin account with limited permissions, a separate database user) and return it when done. Never ask for their licence key or Cfx.re login.
When things go wrong
- Change requests outside the scope are quoted separately — politely, in writing.
- If a client disappears mid-project, the deposit covers the work done.
- Keep all agreements and approvals in one written channel.
Frequently asked questions
Should I ask for a deposit on FiveM commissions?
Yes — commonly a third to half up front, with the rest on milestones or delivery.
Who owns a commissioned FiveM script?
Whatever you agree. Decide in writing whether the client gets a usage licence or full rights including resale.
How many revisions should I include?
State a number (for example two rounds) and treat new features as change requests.
Should clients give me their server login?
Only limited access if really needed. Work on your own test server whenever possible.
Need this built, not just explained?
Ten years of FiveM work, from Lua to NUI
Custom resources, React NUI, ESX / QBCore / Qbox integration, OneSync performance audits and security reviews — plus the websites and SEO around your server brand.
Related guides
- BusinessA portfolio that wins FiveM workShow five or six of your best finished pieces with short in-game videos, link clean open-source samples on GitHub, and write brief case studies (problem, solution, result, resmon numbers). State your stack (Lua, ox_lib, frameworks, NUI), services and availability clearly, add testimonials from real clients, and keep contact one click away.
- BusinessPricing FiveM scripts without guessingStart from the alternatives buyers see (similar scripts, free options), adjust for what makes yours better (performance, frameworks supported, UI quality, docs), and make sure the price covers the support each sale brings. Offer a cheaper escrowed tier and a pricier open-source tier, use bundles for related scripts, run launch discounts with an end date, and revisit prices after real sales data.
- BusinessAsset escrow: protecting and buying FiveM resourcesAsset escrow encrypts Lua, YFT, YDD and YDR files uploaded to the Cfx.re Portal and delivers them through Tebex. An escrowed resource only starts on servers whose owner holds the entitlement; otherwise the console shows “You lack the required entitlement”. Sellers leave config files editable with escrow_ignore. NUI files are not encrypted. Re-uploading replaces the version on the seller’s account, and subscription assets stop working when the subscription ends.
- EngineeringUsing Git to manage FiveM resourcesInitialise a repository in your server-data folder (or per script), commit resources and configs, and ignore caches, logs, txData and anything secret. Move the licence key, database password and tokens into a separate secrets.cfg that is exec’d but never committed. Use Git LFS or keep huge streamed assets out of the repo, work on branches, push to a private remote, and deploy with git pull on the server.