Configuration Reference

Reference for the current oxide-banking config layout and defaults.

Everything you can change lives in the config/ folder. This page explains each file and the most important settings. After changing a config file, restart the resource (ensure oxide-banking) for the change to take effect.

Config File Map

FilePurpose
config/config.luaGeneral settings, interaction, security, time, cards, business, transfer delays, and debug settings
config/accounts.luaTier definitions, account types, and savings goal categories
config/loans.luaLoan products, approval rules, late fees, collections, and vehicle-loan display types
config/interest.luaInterest, investments, market simulation, and certificates of deposit
config/fees.luaTransaction, maintenance, overdraft, service, and waiver rules

General Settings

File: config/config.lua

SettingTypeDefaultDescription
Config.DebugbooleanfalsePrints extra information to the server console for troubleshooting
Config.UseTargetbooleantruetrue = players use the targeting eye on banks/ATMs; false = players walk up and press a key
Config.ATMModelsstring[]4 modelsWhich ATM props around the map players can use
Config.BankLocationstable[]8 locationsWhere the bank branches are and what they are called
Config.Blips.enabledbooleantrueShows bank icons on the map

Security

File: config/config.lua

SettingDefaultDescription
Config.Security.Enable2FAtrueAsks for a security code before large transactions go through
Config.Security.TwoFactorThreshold50000Transactions at or above this amount ask for the security code
Config.Security.MaxLoginAttempts3How many wrong PIN entries are allowed before the account locks
Config.Security.LockoutDuration300How long the lockout lasts, in seconds (300 = 5 minutes)
Config.Security.EnableFraudDetectiontrueAutomatically flags suspicious activity and alerts online admins
Config.Security.SuspiciousTransactionAmount100000Transactions over this amount get flagged as suspicious
Config.Security.EnableTransactionAlertstrueSends players a notification when money moves on their account
Config.Security.AlertThreshold10000Only transactions at or above this amount trigger an alert

Scheduling And Time

File: config/config.lua

Banking runs on its own internal calendar. One "banking day" passes at midnight (your server's real clock) while the server is running. Interest, loan payments, recurring payments, and market updates are all measured in banking days.

SettingDefaultDescription
Config.TimeSettings.UseInGameTimetrueNot currently used — the banking schedule always runs on the server's real clock
Config.TimeSettings.InterestPayoutHour0Server-time hour when daily tasks run (0 = midnight)
Config.TimeSettings.SavingsInterestInterval1Pay savings interest every N banking days
Config.TimeSettings.LoanPaymentInterval7Collect loan payments every N banking days
Config.TimeSettings.InvestmentUpdateInterval1Update investment values every N banking days
Config.TimeSettings.RecurringPaymentCheck1Process recurring payments every N banking days
Config.TimeSettings.DaysPerYear28How many banking days count as one "year" when calculating interest

Cards, Notifications, Logging, And Transfers

File: config/config.lua

Cards

Config.Cards controls card order cost, replacement cost, PIN length, per-account limits, shared-account card permissions, and cleanup retention for cancelled cards.

Important defaults:

  • OrderCost = 50
  • ReplacementCost = 100
  • PinLength = 4
  • MaxCardsPerAccount = 2
  • ShowAccountBalanceInSelector = false
  • AllowPINChange = true
  • AllowFreeze = true
  • AllowCancel = true
  • AllowReplacement = true

Logging

SettingDefaultDescription
Config.Logging.EnabledtrueEnables banking logging
Config.Logging.LogTransactionstrueTransaction log toggle
Config.Logging.LogLoanstrueLoan log toggle
Config.Logging.LogAccountChangestrueAccount/admin change log toggle
Config.Logging.LogSecurityEventstrueSecurity log toggle

Business

Config.Business controls expense categorization, invoice due/late-fee behavior, expense approval thresholds, and report caching for business accounts.

Important defaults:

  • InvoiceDueDays = 7
  • InvoiceLateFeeEnabled = true
  • InvoiceLateFeePercent = 0.05
  • InvoiceMaxLateFee = 10000
  • LargeExpenseThreshold = 10000 (0 disables approval)
  • ReportCacheDuration = 3600
  • MaxReportMonths = 12

Config.Business.ExpenseCategories ships with 7 default categories (supplies, utilities, vehicle, property, legal, marketing, other).

Credit Score

SettingDefaultDescription
Config.CreditScore.defaultScore650Starting credit score for new players

Transfer delays and transaction caps

Config.TransferDelays makes external and wire transfers take time to arrive instead of being instant. The delays are set in real-time hours (default: external 6 hours, wire 24 hours). Players can pay an expedited fee to skip the wait, and pending transfers can be cancelled before they complete.

Config.Transactions caps single deposits, withdrawals, and transfers at 10000000 ($10M) by default.

Account Tiers And Account Types

File: config/accounts.lua

Tiers

Config.AccountTiers currently ships with:

  • basic
  • premium
  • business

Each tier defines:

  • label and description
  • monthly fee
  • interest rate
  • max shared accounts
  • daily withdraw and transfer limits
  • feature flags
  • requirement rules

Account types

Config.AccountTypes currently includes:

  • checking — the player's main personal account
  • savings — earns extra interest, with a small penalty for early withdrawals
  • shared — accounts a player can share with other players
  • job — business accounts tied to a job (police, mechanic, etc.)
  • gang — organization accounts

These work the same on every supported framework (QBCore, QBX, ESX).

Savings goals

Config.SavingsGoals defines max goals per player and the category list used by the UI.

Loans

File: config/loans.lua

Core loan settings

SettingDefault
Config.Loans.enabledtrue
Config.Loans.maxActiveLoans3
Config.Loans.dailyLoanLimit2
Config.Loans.gracePeriod1
Config.Loans.minimumInterestRate0.01

Built-in products

Current built-in products:

  • personal
  • business
  • emergency

Each product defines:

  • amount range
  • base interest rate
  • term options
  • eligibility requirements
  • collateral usage
  • optional instant-approval behavior

External loan types

Config.Loans.externalTypes is used for externally managed loan records that still appear in the bank UI. The shipped config includes vehicle.

Approval, late fees, and collections

The file also defines:

  • Config.CreditScoreRateModifiers
  • Config.LatePayment
  • Config.Loans.collections
  • Config.LoanApproval

Notable collection settings include wage garnishment, asset seizure support, and optional collateral handler resource configuration.

Interest, Investments, And CDs

File: config/interest.lua

Interest

Config.Interest controls:

  • enabled state
  • simple vs compound calculation
  • daily vs weekly payout frequency
  • minimum balance
  • max payout cap
  • account-type-specific rate overrides

Investments

Built-in investment products:

  • savings_bond
  • stock_index
  • crypto_fund
  • real_estate

The file also defines dividend defaults and market simulation behavior such as trend duration, crash chance, boom chance, and momentum carry-over.

Certificates of deposit

Config.CertificatesOfDeposit.products currently includes:

  • cd_short
  • cd_medium
  • cd_long

Each product defines term length, interest rate, min/max deposit, and early withdrawal penalty.

Fees

File: config/fees.lua

Config.Fees covers:

  • ATM fees
  • wire transfer fees
  • external transfer fees
  • expedited transfer fees
  • maintenance fees
  • service fees
  • overdraft fees
  • insufficient funds fees
  • late payment fees

Config.FeeWaivers defines waiver rules for premium tier, business tier, and high-balance customers.

Config.FeeDescriptions provides UI-facing labels for fee keys.

Debug Settings

File: config/config.lua

SettingDefaultDescription
Config.DebugSettings.AllowInProductionfalseMust be true before /bankingdebug will work — debug output can include player details, so keep it off on a live server
Config.DebugSettings.AutoTimeoutMinutes30Turns debug mode back off automatically after this many minutes
Config.DebugSettings.RequireGodModefalseNot currently used