GKS Bank
Exports
Server exports for reading accounts and moving money with GKS Bank.
All exports are server-side and use the gks-banking resource name.
Account exports
GetAccount
---@param ref number|string Account ID or IBAN
---@return table|nil account
local account = exports['gks-banking']:GetAccount(accountRef)Returns id, iban, label, type, owner, ownerJob, balance, and status.
GetBalance
---@param ref number|string Account ID or IBAN
---@return integer|nil balance
local balance = exports['gks-banking']:GetBalance(accountRef)Returns the account balance or nil when the account cannot be found.
GetAccountTransactions
---@param accountId number Account ID
---@param limit number|nil Maximum 100 records
---@return table|nil transactions
local transactions = exports['gks-banking']:GetAccountTransactions(accountId, 25)GetPlayerAccounts
---@param identifier string Framework identifier
---@return table|nil accounts
local accounts = exports['gks-banking']:GetPlayerAccounts(identifier)IsAccountFrozen
---@param accountId number Account ID
---@return boolean|nil frozen
---@return string|nil scope
local frozen, scope = exports['gks-banking']:IsAccountFrozen(accountId)Money exports
Money exports return groupId, errorCode. A nil groupId means the operation failed.
AddMoney
---@param ref number|string Account ID or IBAN
---@param amount number Amount in whole currency units
---@param reason string|nil Transaction description
---@return string|nil groupId
---@return string|nil errorCode
local groupId, errorCode = exports['gks-banking']:AddMoney(
accountRef,
500,
'Fishing reward'
)RemoveMoney
---@param ref number|string Account ID or IBAN
---@param amount number Amount in whole currency units
---@param reason string|nil Transaction description
---@return string|nil groupId
---@return string|nil errorCode
local groupId, errorCode = exports['gks-banking']:RemoveMoney(
accountRef,
250,
'Market purchase'
)Transfer
Use Transfer for account-to-account movement. Do not use separate RemoveMoney and AddMoney calls for the same transfer.
---@param fromRef number|string Source account ID or IBAN
---@param toRef number|string Target account ID or IBAN
---@param amount number Amount in whole currency units
---@param reason string|nil Transaction description
---@return string|nil groupId
---@return string|nil errorCode
local groupId, errorCode = exports['gks-banking']:Transfer(
senderRef,
receiverRef,
1000,
'Vehicle sale'
)CardPayment
---@param cardNumber string Card number
---@param amount number Amount in whole currency units
---@param opts table|nil Payment options, including PIN
---@return string|nil groupId
---@return string|nil errorCode
local groupId, errorCode = exports['gks-banking']:CardPayment(
cardNumber,
125,
{
pin = '1234',
description = 'Fuel station',
counterparty = '24/7 Gas Station',
}
)Card status, expiry, PIN, and card limits are checked by GKS Bank.
Police exports
---@param title string Case title
---@param targetIdentifier string|nil Target player identifier
---@param openedBy string|nil Officer identifier
---@return integer|nil caseId
local caseId = exports['gks-banking']:OpenInvestigation(
'Suspected fraud',
targetIdentifier,
officerIdentifier
)
---@param status string|nil Filter by case status
---@param limit number|nil Maximum number of records
---@return table cases
local cases = exports['gks-banking']:GetInvestigations('open', 25)Integration rules
- Keep money operations on the server.
- Check
groupIdbefore treating an operation as successful. - Use
Transferfor linked account movement. - Use a meaningful reason; it appears in transaction history and logs.

