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
| File | Purpose |
|---|---|
config/config.lua | General settings, interaction, security, time, cards, business, transfer delays, and debug settings |
config/accounts.lua | Tier definitions, account types, and savings goal categories |
config/loans.lua | Loan products, approval rules, late fees, collections, and vehicle-loan display types |
config/interest.lua | Interest, investments, market simulation, and certificates of deposit |
config/fees.lua | Transaction, maintenance, overdraft, service, and waiver rules |
General Settings
File: config/config.lua
| Setting | Type | Default | Description |
|---|---|---|---|
Config.Debug | boolean | false | Prints extra information to the server console for troubleshooting |
Config.UseTarget | boolean | true | true = players use the targeting eye on banks/ATMs; false = players walk up and press a key |
Config.ATMModels | string[] | 4 models | Which ATM props around the map players can use |
Config.BankLocations | table[] | 8 locations | Where the bank branches are and what they are called |
Config.Blips.enabled | boolean | true | Shows bank icons on the map |
Security
File: config/config.lua
| Setting | Default | Description |
|---|---|---|
Config.Security.Enable2FA | true | Asks for a security code before large transactions go through |
Config.Security.TwoFactorThreshold | 50000 | Transactions at or above this amount ask for the security code |
Config.Security.MaxLoginAttempts | 3 | How many wrong PIN entries are allowed before the account locks |
Config.Security.LockoutDuration | 300 | How long the lockout lasts, in seconds (300 = 5 minutes) |
Config.Security.EnableFraudDetection | true | Automatically flags suspicious activity and alerts online admins |
Config.Security.SuspiciousTransactionAmount | 100000 | Transactions over this amount get flagged as suspicious |
Config.Security.EnableTransactionAlerts | true | Sends players a notification when money moves on their account |
Config.Security.AlertThreshold | 10000 | Only 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.
| Setting | Default | Description |
|---|---|---|
Config.TimeSettings.UseInGameTime | true | Not currently used — the banking schedule always runs on the server's real clock |
Config.TimeSettings.InterestPayoutHour | 0 | Server-time hour when daily tasks run (0 = midnight) |
Config.TimeSettings.SavingsInterestInterval | 1 | Pay savings interest every N banking days |
Config.TimeSettings.LoanPaymentInterval | 7 | Collect loan payments every N banking days |
Config.TimeSettings.InvestmentUpdateInterval | 1 | Update investment values every N banking days |
Config.TimeSettings.RecurringPaymentCheck | 1 | Process recurring payments every N banking days |
Config.TimeSettings.DaysPerYear | 28 | How 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 = 50ReplacementCost = 100PinLength = 4MaxCardsPerAccount = 2ShowAccountBalanceInSelector = falseAllowPINChange = trueAllowFreeze = trueAllowCancel = trueAllowReplacement = true
Logging
| Setting | Default | Description |
|---|---|---|
Config.Logging.Enabled | true | Enables banking logging |
Config.Logging.LogTransactions | true | Transaction log toggle |
Config.Logging.LogLoans | true | Loan log toggle |
Config.Logging.LogAccountChanges | true | Account/admin change log toggle |
Config.Logging.LogSecurityEvents | true | Security 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 = 7InvoiceLateFeeEnabled = trueInvoiceLateFeePercent = 0.05InvoiceMaxLateFee = 10000LargeExpenseThreshold = 10000(0 disables approval)ReportCacheDuration = 3600MaxReportMonths = 12
Config.Business.ExpenseCategories ships with 7 default categories (supplies, utilities, vehicle, property, legal, marketing, other).
Credit Score
| Setting | Default | Description |
|---|---|---|
Config.CreditScore.defaultScore | 650 | Starting 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:
basicpremiumbusiness
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 accountsavings— earns extra interest, with a small penalty for early withdrawalsshared— accounts a player can share with other playersjob— 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
| Setting | Default |
|---|---|
Config.Loans.enabled | true |
Config.Loans.maxActiveLoans | 3 |
Config.Loans.dailyLoanLimit | 2 |
Config.Loans.gracePeriod | 1 |
Config.Loans.minimumInterestRate | 0.01 |
Built-in products
Current built-in products:
personalbusinessemergency
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.CreditScoreRateModifiersConfig.LatePaymentConfig.Loans.collectionsConfig.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_bondstock_indexcrypto_fundreal_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_shortcd_mediumcd_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
| Setting | Default | Description |
|---|---|---|
Config.DebugSettings.AllowInProduction | false | Must be true before /bankingdebug will work — debug output can include player details, so keep it off on a live server |
Config.DebugSettings.AutoTimeoutMinutes | 30 | Turns debug mode back off automatically after this many minutes |
Config.DebugSettings.RequireGodMode | false | Not currently used |