Installation Guide

Step-by-step setup for oxide-banking with ox_lib, oxmysql, and o-link.

Step-by-step setup for oxide-banking.

Prerequisites

Required resources

ResourcePurpose
ox_libCommands, callbacks, locale, and utility helpers
oxmysqlDatabase driver
o-linkFramework abstraction used by banking

oxide-banking expects your o-link setup to provide:

  • character identifier and name lookup
  • online/offline money operations
  • job lookup
  • inventory access for bank cards
  • target integration for banks and ATMs
  • notification delivery

Installation Steps

1. Place the resource

Place oxide-banking inside your server's resources folder.

2. Add startup order

Start dependencies before banking:

ensure ox_lib
ensure oxmysql
ensure o-link
ensure oxide-banking

3. Install the SQL schema

Run sql/install.sql against your database.

The install creates the banking tables used by accounts, statements, cards, loans, credit, security, scheduler state, recurring payments, and business reporting.

4. Review configuration

Adjust the live config files:

  • config/config.lua
  • config/accounts.lua
  • config/loans.lua
  • config/interest.lua
  • config/fees.lua

See Configuration for the current reference.

5. Verify the packaged UI

The manifest points to web/dist/index.html:

ui_page 'web/dist/index.html'

If you are only installing the resource, no UI build step is required. Rebuild the UI only when editing web/src.

Verification

  1. Start the server and confirm ox_lib, oxmysql, o-link, and oxide-banking load without dependency errors.
  2. Join the server and confirm bank blips appear if Config.Blips.enabled = true.
  3. Walk to a configured bank and confirm bank interaction works.
  4. Walk to an ATM, confirm ATM interaction works, and verify card validation opens the ATM flow.
  5. Open the banking UI and verify account data loads without callback or locale errors.

Notes

Target vs proximity

Config.UseTarget = true uses o-link.target for bank and ATM interactions.

Config.UseTarget = false falls back to proximity prompts and keypress handling.

Framework Support

oxide-banking works on QBCore, QBX, and ESX through o-link with no framework-specific setup.

The manifest declares provides { 'qb-banking' } so older QB-era resources that reference qb-banking continue to work automatically. No action is needed for this — it is handled transparently.

Locales

Locale files live in locales/*.json and are loaded through lib.locale(). No extra manifest wiring is needed when adding another JSON locale file.

Next Steps