> For the complete documentation index, see [llms.txt](https://wanted-mods.gitbook.io/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wanted-mods.gitbook.io/home/redm/bank-system/exports.md).

# Exports

### Server Exports

WM Bank System currently exposes server-side exports (no client exports in this resource).

#### Important

* Call these exports from server-side scripts.
* Replace `source` with the player source in your own context.

#### GetBalance(src, accountType, branchId, currency)

Returns current account balance.

```lua
local balance = exports['wm_bank']:GetBalance(source, 'personal', 'valentine', 'cash')
print('Balance:', balance)
```

#### Deposit(src, amount, accountType, branchId, currency)

Deposits wallet money into bank account. Returns `ok, result`.

```lua
local ok, result = exports['wm_bank']:Deposit(source, 150.0, 'personal', 'valentine', 'cash')
print('Deposit:', ok, result)
```

#### Withdraw(src, amount, accountType, branchId, currency)

Withdraws bank money to wallet. Returns `ok, result`.

```lua
local ok, result = exports['wm_bank']:Withdraw(source, 80.0, 'personal', 'valentine', 'cash')
print('Withdraw:', ok, result)
```

#### Transfer(src, targetCharId, amount, accountType, branchId, targetBranchId, currency)

Creates a bank transfer. Returns `ok, result`.

```lua
local targetCharId = 'RSG12345'
local ok, result = exports['wm_bank']:Transfer(source, targetCharId, 200.0, 'personal', 'valentine', 'saint_denis', 'cash')
print('Transfer:', ok, result)
```

#### GetOverview(src, accountType, branchId, currency)

Returns overview payload used by UI.

```lua
local overview = exports['wm_bank']:GetOverview(source, 'personal', 'valentine', 'cash')
print('Overview account type:', overview and overview.accountType)
```

#### GetStatement(src, accountType, limit, branchId, currency)

Returns transaction history list.

```lua
local statement = exports['wm_bank']:GetStatement(source, 'personal', 20, 'valentine', 'cash')
print('Statement entries:', #statement)
```

#### RequestLoan(src, amount, days, accountType, branchId, currency)

Requests/creates a loan. Returns `ok, result`.

```lua
local ok, result = exports['wm_bank']:RequestLoan(source, 300.0, 7, 'personal', 'valentine', 'cash')
print('RequestLoan:', ok, result)
```

#### PayLoan(src, loanId, amount, accountType, branchId, currency)

Pays a loan installment or amount. Returns `ok, result`.

```lua
local ok, result = exports['wm_bank']:PayLoan(source, 1, 50.0, 'personal', 'valentine', 'cash')
print('PayLoan:', ok, result)
```

#### GetLoans(src, accountType, branchId, currency)

Returns active/known loans for player account.

```lua
local loans = exports['wm_bank']:GetLoans(source, 'personal', 'valentine', 'cash')
print('Loans:', #loans)
```

#### IssueDocument(src, quantity, accountType, branchId, currency)

Issues check items/documents. Returns `ok, result`.

```lua
local ok, result = exports['wm_bank']:IssueDocument(source, 1, 'personal', 'valentine', 'cash')
print('IssueDocument:', ok, result)
```

#### RedeemDocument(src, docId, accountType, currency)

Redeems a document by ID (if enabled in your setup). Returns `ok, result`.

```lua
local ok, result = exports['wm_bank']:RedeemDocument(source, 1, 'personal', 'cash')
print('RedeemDocument:', ok, result)
```

#### GetDocuments(src, currency)

Returns check/document list for player.

```lua
local docs = exports['wm_bank']:GetDocuments(source, 'cash')
print('Documents:', #docs)
```

#### GetPlayerVIPTier(src)

Returns current VIP tier key (or nil/empty depending on your setup).

```lua
local tier = exports['wm_bank']:GetPlayerVIPTier(source)
print('VIP Tier:', tier)
```

#### GetVIPBenefits(src)

Returns formatted VIP data used by the UI.

```lua
local vip = exports['wm_bank']:GetVIPBenefits(source)
print('VIP label:', vip and vip.label)
```

#### ClearVIPCache(src)

Clears cached VIP data for a specific player.

```lua
exports['wm_bank']:ClearVIPCache(source)
print('VIP cache cleared.')
```
