
BankCore
Standalone bank and economy plugin, fully configurable in game.

BankCore splits money into a wallet you carry and a bank you save into, then builds tiers, interest and a leaderboard on top of it. It can be your whole economy or sit on top of the one you already run.
Every tier, interest bracket, menu and message is edited from an in game admin hub, so tuning the economy never means opening a config file or restarting the server.
Tested on Paper and Folia, against SQLite and MySQL.
What it does
Installation
- Drop BankCore.jar into your server's plugins folder.
- Restart the server. The plugin writes its own configuration on first start.
- Run /bank admin hub in game to set everything up. There is no file editing step.
Optional integrations
All of these are soft dependencies. BankCore loads and runs with none of them installed.
| Plugin | What it adds |
|---|---|
| Vault | Reads or provides the server economy, depending on the mode you choose. |
| PlaceholderAPI | Registers the placeholder expansion listed below. |
| ItemsCore | Custom ItemsCore items are understood and displayed properly. |
| LuckPerms | Permission driven limits resolve for offline players too. |
Commands
Generated from the plugin's own command registry at version 1.0.0, so this list cannot drift out of date.
| Usage | Permission | Description |
|---|---|---|
| /bank | bankcore.open | Bank balance, deposits, withdrawals and transfers |
| /bank <player> | bankcore.open.others | Open somebody else's bank screen for them |
| Usage | Permission | Player only | Description |
|---|---|---|---|
| /bank balance [player] | bankcore.balance | no | Show your wallet and bank balance |
| /bank deposit <amount> | bankcore.deposit | yes | Move money from your wallet into the bank |
| /bank withdraw <amount> | bankcore.withdraw | yes | Move money from the bank into your wallet |
| /bank pay <player> <amount> | bankcore.pay | yes | Send money from your wallet to another player |
| /bank history [page] | bankcore.history | yes | Show your recent transactions |
| /bank top [page] | bankcore.top | no | Show the richest players |
| /bank upgrade [confirm] | bankcore.upgrade | yes | Upgrade your bank to the next tier |
| /bank admin [action] [player] [amount] | bankcore.admin | no | Administration commands |
| Usage | Permission | Description |
|---|---|---|
| /bank admin give <player> <amount> | bankcore.admin.give | Add money to an account |
| /bank admin take <player> <amount> | bankcore.admin.take | Remove money from an account |
| /bank admin set <player> <amount> | bankcore.admin.set | Set a bank balance |
| /bank admin wallet <player> <amount> | bankcore.admin.wallet | Set a wallet balance |
| /bank admin reset <player> | bankcore.admin.reset | Wipe an account back to its starting balance |
| /bank admin hub | bankcore.admin | Open the admin hub |
| /bank admin tiers | bankcore.admin | Edit the bank tiers and interest brackets |
| /bank admin menus | bankcore.admin.menus | Edit any menu in game |
| /bank admin settings | bankcore.admin.settings | Edit the settings in game |
| /bank admin messages | bankcore.admin.settings | Edit any player facing message |
| /bank admin reload | bankcore.admin.reload | Reload the configuration |
Permissions
everyone is granted to all players, operator only to ops, and nobody must be granted explicitly by a permissions plugin.
| Node | Default | Description |
|---|---|---|
| bankcore.* | operator | Grants every bankcore permission |
| bankcore.admin | operator | Use the admin commands |
| bankcore.admin.give | operator | Add money to an account |
| bankcore.admin.menus | operator | Edit the menus in game |
| bankcore.admin.reload | operator | Reload the configuration |
| bankcore.admin.reset | operator | Reset an account |
| bankcore.admin.set | operator | Set a bank balance |
| bankcore.admin.settings | operator | Edit the settings in game |
| bankcore.admin.take | operator | Remove money from an account |
| bankcore.admin.wallet | operator | Set a wallet balance |
| bankcore.balance | everyone | Check your own balance |
| bankcore.balance.others | operator | Check another player's balance |
| bankcore.deposit | everyone | Deposit into the bank |
| bankcore.history | everyone | View your transaction history |
| bankcore.open | everyone | Open your own bank screen |
| bankcore.open.others | operator | Open somebody else's bank screen for them, for npc commands |
| bankcore.pay | everyone | Send money to another player |
| bankcore.top | everyone | View the balance leaderboard |
| bankcore.upgrade | everyone | Upgrade your bank tier |
| bankcore.withdraw | everyone | Withdraw from the bank |
Placeholders
Requires PlaceholderAPI. Turn the expansion off with integrations.placeholderapi: false.
Every key below is walked by the plugin's own self test, which fails if one stops resolving, so this list cannot quietly go out of date.
Per player
A per player key resolves only for a player whose account is loaded, which means anyone online.
| Placeholder | Example | Notes |
|---|---|---|
| %bankcore_wallet% | $1,250.00 | money the player is carrying |
| %bankcore_bank% | $48,000.00 | money in the bank |
| %bankcore_total% | $49,250.00 | wallet plus bank |
| %bankcore_wallet_raw% | 1250.0 | unformatted, for sorting and maths |
| %bankcore_bank_raw% | 48000.0 | |
| %bankcore_total_raw% | 49250.0 | |
| %bankcore_wallet_short% | 1.25k | compact, for scoreboards |
| %bankcore_bank_short% | 48k | |
| %bankcore_total_short% | 49.25k | |
| %bankcore_tier% | Silver | current tier name |
| %bankcore_tier_index% | 2 | |
| %bankcore_tier_next% | Gold | empty at the highest tier |
| %bankcore_tier_next_cost% | $5,000,000.00 | empty at the highest tier |
| %bankcore_capacity% | $10,000,000.00 | Unlimited when the tier is uncapped |
| %bankcore_capacity_raw% | 1.0E7 | 0.0 means unlimited |
| %bankcore_space% | $9,952,000.00 | room left in the bank |
| %bankcore_interest% | $620.00 | what the next payout pays at the current balance |
| %bankcore_interest_raw% | 620.0 |
Server wide
These answer with no player, so they work on a lobby scoreboard or in a message.
| Placeholder | Example | Notes |
|---|---|---|
| %bankcore_symbol% | $ | |
| %bankcore_currency% | coin | |
| %bankcore_currency_plural% | coins |
Leaderboard
Append the position, starting at 1. These read the cached leaderboard and never touch the database, because a placeholder can be asked for on every scoreboard tick.
| Placeholder | Example | Notes |
|---|---|---|
| %bankcore_top_name_1% | Notch | |
| %bankcore_top_amount_1% | $2,400,000.00 | |
| %bankcore_top_amount_raw_1% | 2400000.0 |
Vault modes
auto provides the economy if nothing else has, otherwise uses the one that has. provide registers BankCore as the server economy. consume leaves the economy to another plugin and puts the bank on top of it. off ignores Vault entirely.
As a provider BankCore exposes the wallet, never the bank. The bank is a savings pot the player withdraws from on purpose, and a shop plugin quietly spending it would defeat the point of having one. Vault bank methods answer NOT_IMPLEMENTED rather than pretending.
In consume mode the other plugin owns the wallet and BankCore's own column becomes a mirror kept in step on every read. The leaderboard then ranks on the bank alone, because the mirror is stale for anyone who has not logged in since.