Skip to content

Configuration

ARS Banking is configured through config.lua. This page documents the verified settings and what each one changes.

  1. Core Settings
  2. ATM Settings
  3. Bank Locations and Blips
  4. Card System
  5. Savings Account
  6. POS System
  7. Loan Settings
  8. Investments
  9. Admin Permissions
  10. Compatibility Layer
  11. ATM Currency Display
Config.DebugMode = false
Config.Framework = 'qb' -- 'esx', 'qb', or 'qbx'
Config.UseTarget = true
Config.MaxAccounts = 2
Config.ATMMaxWithdraw = 50000
Config.MaxTransferAmount = 1000000
Config.MaxTransactionAmount = 999999999
Config.BankingDataRetentionMonths = 6
Config.UseBankCards = true
Config.PreventStolenCardAccess = true
Config.PosRequestDistance = 3.0
SettingDefaultDescription
DebugModefalseEnables debug logging.
Framework'qb'Selects the active framework: ESX, QBCore, or QBX.
UseTargettrueUses target interaction when a supported target resource is present.
MaxAccounts2Maximum personal/shared accounts a player can open.
ATMMaxWithdraw50000Maximum amount per ATM withdrawal.
MaxTransferAmount1000000Maximum amount for external transfers.
MaxTransactionAmount999999999Hard cap for a single transaction.
BankingDataRetentionMonths6Keeps only the latest N months of statements and POS history. Set to 0 to disable cleanup.
UseBankCardstrueRequires a physical bank_card for ATM access.
PreventStolenCardAccesstrueBlocks stolen-card access when enabled.
PosRequestDistance3.0Maximum distance between the employee and customer for POS requests.
Config.ATMModels = { 'prop_atm_01', 'prop_atm_02', 'prop_atm_03', 'prop_fleeca_atm' }

Defines which GTA V prop models are treated as ATMs.

Config.ATMDUI = {
Enabled = true,
LoadTextureDistance = 40.0,
InteractionDistance = 1.5,
ButtonProximity = 0.027,
PresetWithdrawAmounts = { 50, 100, 200, 500, 1000, 2000 },
}
SettingDefaultDescription
EnabledtrueEnables DUI-based ATM screens.
LoadTextureDistance40.0Distance at which ATM textures start loading.
InteractionDistance1.5Distance at which the ATM can be interacted with.
ButtonProximity0.027Screen-space hover threshold for ATM buttons.
PresetWithdrawAmounts{ 50, 100, 200, 500, 1000, 2000 }Preset withdraw amounts on the ATM screen.
Config.ATMBlips = {
Enabled = true,
Sprite = 277,
Color = 2,
Scale = 0.4,
RenderDistance = 150.0,
ClusterDistance = 10.0,
UpdateInterval = 2500,
AsShortRange = true,
}
SettingDefaultDescription
EnabledtrueShows ATM blips on the map.
Sprite277Blip sprite ID.
Color2Blip color.
Scale0.4Blip size.
RenderDistance150.0Maximum distance for visible ATM blips.
ClusterDistance10.0Merges nearby ATMs into one blip.
UpdateInterval2500Refresh interval in milliseconds.
AsShortRangetrueKeeps the blip short range.

Config.Locations defines the bank branch coordinates. The default config includes 8 locations.

Config.BlipInfo = {
name = locale('bank_blip_name'),
sprite = 108,
color = 2,
scale = 0.8,
}
SettingDefaultDescription
nameLocale bank_blip_nameLabel shown on the bank blip.
sprite108Bank icon sprite ID.
color2Blip color.
scale0.8Blip size.
Config.CardSystem = {
maxPrepaidCards = 3,
maxCreditCards = 3,
prepaidMaxBalance = 50000,
debitExpiresYears = 5,
prepaidExpiresYears = 4,
creditExpiresYears = 4,
renewalFee = 250,
expiryWarningDays = 30,
cashAdvanceFeePercent = 0.03,
replacementFee = 500,
replacementFeeCredit = 1000,
freeReplacements = 0,
mainCard = {
label = 'Debit Card',
network = 'Maze',
variantCode = 'debit-standard',
weeklyFee = 0,
},
prepaidCard = {
label = 'Prepaid Card',
network = 'Maze',
variantCode = 'prepaid-standard',
weeklyFee = 50,
},
}
SettingDefaultDescription
maxPrepaidCards3Maximum prepaid cards per player.
maxCreditCards3Maximum credit cards per player.
prepaidMaxBalance50000Maximum prepaid card balance.
debitExpiresYears5Debit card expiry period.
prepaidExpiresYears4Prepaid card expiry period.
creditExpiresYears4Credit card expiry period.
renewalFee250Fee to renew an expired card.
expiryWarningDays30Days before expiry that the warning appears.
cashAdvanceFeePercent0.03Fee for credit card cash advances at ATMs.
replacementFee500Replacement fee for debit and prepaid cards.
replacementFeeCredit1000Replacement fee for credit cards.
freeReplacements0Number of free replacements per card.
VariantCodeLimitWeekly Fee
Classicclassic$5,000$100
Goldgold$15,000$200
Blackblack$50,000$500
Config.CardSystem.creditPayments = {
enabled = true,
minPaymentType = 'percent',
minPaymentPercent = 5,
minPaymentFixed = 50,
autoPayEnabled = true,
autoPayTime = '03:00',
autoPayDefaultMode = 'fixed',
autoPayDefaultPercent = 5,
autoPayDefaultAmount = 100,
}
SettingDefaultDescription
enabledtrueEnables credit card payments.
minPaymentType'percent'Uses a percentage or fixed minimum payment.
minPaymentPercent5Minimum percent payment when the type is percent.
minPaymentFixed50Minimum fixed payment when the type is fixed.
autoPayEnabledtrueEnables automatic card payments.
autoPayTime'03:00'Time of day for auto-pay.
autoPayDefaultMode'fixed'Default auto-pay mode.
autoPayDefaultPercent5Default auto-pay percent.
autoPayDefaultAmount100Default auto-pay amount.
Config.SavingsAccount = {
Enabled = true,
InterestRate = 0.02,
CompoundInterval = 'weekly',
MaxBalance = 5000000,
MinimumDeposit = 100,
MaxAccountsPerPlayer = 1,
}
SettingDefaultDescription
EnabledtrueEnables savings accounts.
InterestRate0.02Annual interest rate.
CompoundInterval'weekly'Interest payout interval: daily, weekly, or monthly.
MaxBalance5000000Maximum savings balance.
MinimumDeposit100Minimum deposit amount.
MaxAccountsPerPlayer1Maximum savings accounts per player.
Config.POS = {
registrationFee = 1000,
commandName = 'posmenu',
timeout = 60000,
maxAmount = 999999999,
allowCashPayment = true,
}
SettingDefaultDescription
registrationFee1000Cost to register a POS terminal.
commandName'posmenu'Command used to open the POS terminal.
timeout60000Customer payment timeout in milliseconds.
maxAmount999999999Maximum single POS payment amount.
allowCashPaymenttrueAllows cash payments at POS terminals.
Config.UseLoans = true
Config.MaxLoanSlots = 3
Config.MaxLoanAmount = 100000
Config.MinLoanAmount = 1000
Config.LoanInterestRate = 0.085
Config.MaxLoanTerm = 52
Config.MinLoanTerm = 1
Config.KeepLoanHistory = true
Config.HistoryRetentionDays = 365
Config.AutoUnloadCompletedLoans = true
SettingDefaultDescription
UseLoanstrueEnables the loan system.
MaxLoanSlots3Maximum concurrent loan slots per player.
MaxLoanAmount100000Maximum loan amount.
MinLoanAmount1000Minimum loan amount.
LoanInterestRate0.085Base annual interest rate.
MaxLoanTerm52Maximum term in weeks.
MinLoanTerm1Minimum term in weeks.
KeepLoanHistorytrueKeeps completed loans in the database.
HistoryRetentionDays365Loan history retention period.
AutoUnloadCompletedLoanstrueFrees the loan slot when a loan is paid off.
Config.Investments = {
Enabled = true,
UpdateInterval = 600000,
TradingFeePercent = 0.01,
MaxSharesPerTrade = 1000000,
MinimumPrice = 10,
MaximumPrice = 100000,
HistorySize = 144,
MinimumFee = 1,
ShareEpsilon = 0.0001,
}
SettingDefaultDescription
EnabledtrueEnables the stock market system.
UpdateInterval600000Market refresh interval in milliseconds.
TradingFeePercent0.01Trading fee percentage.
MaxSharesPerTrade1000000Maximum shares per buy or sell order.
MinimumPrice10Minimum stock price.
MaximumPrice100000Maximum stock price.
HistorySize144Number of OHLCV candles to keep.
MinimumFee1Minimum trading fee.
ShareEpsilon0.0001Floating-point threshold for sold shares.
SymbolNameBase PriceTrend
MAZEMaze Bank$1,500up
FLEECAFleeca$800neutral
LSCSLos Santos Customs$2,500up
AMMUAmmu-Nation$4,200up
BINCOBinco$300down
GRUPPEGruppe Sechs$1,200neutral
MERRYMerryweather$3,500neutral
PONSPonsonbys$1,800up
BSHOTBurger Shot$450neutral
Config.AdminPermissions = {
Permissions = { 'admin', 'god' },
License = {
-- ['license:YOUR_LICENSE_HERE'] = true,
}
}
SettingDescription
PermissionsFramework permission groups that grant admin access.
LicenseRockstar license identifiers that grant direct admin access.
Config.CompatibilityLayer = {
Enabled = true,
Debug = false,
AutoCreateAccounts = true,
}
SettingDefaultDescription
EnabledtrueEnables qb-banking and qb-management compatible exports.
DebugfalseEnables verbose compatibility logging.
AutoCreateAccountstrueAuto-creates job or gang accounts when compatibility exports need them.
Config.ATMCurrency = {
style = 'en-US',
symbol = '$'
}
SettingDefaultDescription
style'en-US'Locale style used for ATM currency formatting.
symbol'$'Currency symbol shown on ATM screens.

Note: This guide is written by a third party. If you find any incorrect or outdated information, please contact us on Discord so we can update it for you.