Oxide Banking

Full banking system for FiveM — personal, shared and job accounts, debit cards, loans, credit scores, savings, investments, invoicing, and account security.

oxide-banking is a full banking system for your roleplay server: personal and business accounts, debit cards, transfers, loans, credit scores, savings, investments, invoicing, and account security.

Players use bank branches and ATMs around the map, and every banking screen — accounts, transfers, loans, bills, savings, investments, cards and credit — lives in one interface. Interest, loan instalments, invoice late fees and market moves run on a built-in daily schedule that follows your server's real clock, so the economy keeps moving whether players are online or not.

oxide-banking is framework-agnostic through o-link and runs on QBCore, QBX and ESX. It takes over the qb-banking name, so older scripts built for qb-banking keep working without changes.

Key Features

  • Accounts — Every player gets a checking account tied to their framework bank balance, plus shared accounts they can open and invite others to, and a job account for every job your framework defines
  • Banks & ATMs — Branches and ATMs across the map, with targeting-eye or walk-up interaction
  • Debit Cards — Inventory items with PINs, freezing, replacement, and card-only ATM access
  • Account Tiers — Basic, Premium and Business, each with its own upgrade requirements, fees, limits and perks
  • Savings & Investments — Savings accounts with a notice period, savings goals, recurring payments, four investment products on a simulated market, certificates of deposit, and dividends
  • Loans & Credit — Loans with credit-based rates, automatic instalments, admin approval for large amounts, late fees, collections, and a total borrowing limit
  • Credit Scores — Scores that react to how players handle their money, with a full factor breakdown and improvement tips
  • Services Screen — Loans, bills, savings, investments, cards and credit each get their own tab, plus an Overview of what needs attention and what is due in the next two weeks
  • Security — An optional security PIN for large withdrawals and transfers, ATM PIN lockout, fraud alerts for admins, transaction alerts, and account freezing
  • Business Tools — Invoicing (with late fees and automatic collection), expense tracking, income statements, and cash flow reports for job bosses
  • Tablet App — When oxide-tablet is running, the bank also appears as a tablet app with a due-soon badge, tray notifications, and an Upcoming payments widget
  • Phone App — When oxide-phone is running, players can install a Banking app with their accounts, activity, payments, bills, six months of spending insights, cards and loans, plus a balance widget and payment notifications
  • Vehicle Financing Hooks — Dealership scripts can register and track vehicle loans in the bank
  • Legacy Compatibility — Answers to the qb-banking resource name and keeps the old exports and callback names working

Requirements

Required

ResourcePurpose
ox_libServer callbacks, logging, and translations
oxmysqlDatabase persistence
o-linkConnects banking to your framework — players, money, jobs, inventory, targeting, notifications
FrameworkOne of qb-core, qbx_core, or es_extended
An inventoryAny inventory o-link supports, such as ox_inventory or qb-inventory. Debit cards are inventory items

ESX's built-in inventory is not supported

Debit cards are inventory items that carry a card number, and banking places and reads them through o-link. On ESX, use ox_inventory or another inventory o-link supports.

Optional

ResourcePurpose
A target resourceTargeting-eye interaction on banks and ATMs (ox_target, qb-target, or any target o-link supports). Without one, set Config.UseTarget = false to use walk-up prompts
oxide-tabletAdds a Banking app to the tablet
oxide-phoneAdds a Banking app and balance widget to the phone (needs o-link 1.11.0 or newer)

Supported Frameworks

FrameworkSupport
QBCore (qb-core)Full
QBX (qbx_core)Full
ESX Legacy (es_extended)Full

The framework is detected automatically. There is nothing framework-specific to configure.

Quick Start

Remove or disable your old banking resource (qb-banking, Renewed-Banking, esx_banking, …).

Place oxide-banking in your resources folder and start it after your framework and o-link in server.cfg.

Run sql/install.sql against your database. Updating from an older version? Also run the files in sql/migrations/.

Add the bank_card item to your inventory.

Review the config files under config/.

Start the server and test a bank and an ATM in game.

See the Installation Guide for the full step-by-step setup, including updating from an older version.

What's In The Folder

PathPurpose
config/*.luaAll the settings you can change: banks, tiers, fees, loans, interest
locales/*.jsonTranslation files
sql/install.sqlDatabase setup script
sql/migrations/*.sqlDatabase updates for servers updating from an older version
itemimages/The bank_card item image and a paste-ready ox_inventory_items.lua entry
server/, client/, web/dist/The resource's own code and its pre-built interface. These are locked and do not need editing

The banking interface ships pre-built in web/dist, so there is nothing to compile or build. Interest, loan payments, invoices, and market updates run on a built-in daily schedule based on your server's real clock (see Scheduling And Time).

Documentation

Compatibility

Use exports['oxide-banking'] for all new integrations. The resource still provides a legacy qb-banking compatibility surface for older scripts through provides { 'qb-banking' } — see Exports & Integration.