Introduction to the Economy System
On Minecraft servers, the economy system is one of the most important mechanics for keeping players motivated and building long-term attachment to the server. Features such as item selling, plot renting and player-to-player trade are all built on top of the economy.
To set up an economy system you need three basic components:
- Vault — the API that acts as a bridge between economy, permission and chat plugins
- Economy provider — the plugin that performs the actual money transactions (EssentialsX, CMI, etc.)
- Shop plugin — the interface players buy and sell through (ShopGUI+, ChestShop, etc.)
Installing Vault
Vault provides a standard API across economy plugins. Almost every economy and shop plugin depends on it.
Installing Vault
cp Vault-1.7.3.jar /opt/minecraft/plugins/
systemctl restart minecraftVault does not provide an economy system on its own. It works together with an economy plugin (the provider). After installation, the /vault-info command shows you which economy plugin Vault is using.
Configuring the EssentialsX Economy
EssentialsX is the most widely used multi-purpose plugin on Minecraft servers. Its built-in economy module integrates with Vault.
Basic Economy Settings
# plugins/Essentials/config.yml — Economy section
# Currency name
currency-symbol: '₺'
currency-symbol-suffix: false
# Starting balance
starting-balance: 1000
# Minimum balance (negative allowance)
min-money: 0
# Maximum balance
max-money: 10000000000000
# Decimal places
min-pay-amount: 0.01
# Currency format
currency-format: '#,##0.00'
# Command costs
command-costs:
home: 50
warp: 25
tpa: 10
sethome: 500
kit tools: 100Money Command Reference
| Command | Permission | Description |
|---|---|---|
| /balance | essentials.balance | Shows your own balance |
| /balance <player> | essentials.balance.others | Shows another player's balance |
| /pay <player> <amount> | essentials.pay | Sends money to a player |
| /eco give <player> <amount> | essentials.eco.give | Adds money to a player (admin) |
| /eco take <player> <amount> | essentials.eco.take | Takes money from a player (admin) |
| /eco set <player> <amount> | essentials.eco.set | Sets a player's balance (admin) |
| /eco reset <player> | essentials.eco.reset | Resets the balance to the starting value |
| /baltop | essentials.baltop | Lists the richest players |
| /worth | essentials.worth | Shows the value of the item in your hand |
Installing and Configuring ShopGUI+
ShopGUI+ is a GUI-based shop plugin. Players buy and sell through an inventory-like interface. It gives you a categorised, visual shopping experience.
Installing ShopGUI+
cp ShopGUIPlus-1.87.jar /opt/minecraft/plugins/
systemctl restart minecraftShop Configuration
# plugins/ShopGUIPlus/config.yml
shopMenuName: "&8☰ &6KEYDAL &8Shop"
shopMenuRows: 4
fillItem:
enabled: true
material: BLACK_STAINED_GLASS_PANE
name: " "
buttons:
goBack:
slot: 31
material: BARRIER
name: "&c← Go Back"
previousPage:
slot: 27
material: ARROW
name: "&7Previous Page"
nextPage:
slot: 35
material: ARROW
name: "&7Next Page"Creating a Shop Category
# plugins/ShopGUIPlus/shops/blocks.yml
blocks:
name: "&6Blocks"
rows: 6
items:
1:
material: COBBLESTONE
buyPrice: 5
sellPrice: 2
slot: 0
2:
material: STONE
buyPrice: 8
sellPrice: 3
slot: 1
3:
material: OAK_LOG
buyPrice: 15
sellPrice: 8
slot: 2
4:
material: IRON_INGOT
buyPrice: 50
sellPrice: 25
slot: 3
5:
material: GOLD_INGOT
buyPrice: 100
sellPrice: 50
slot: 4
6:
material: DIAMOND
buyPrice: 500
sellPrice: 250
slot: 5Installing and Using ChestShop
ChestShop is a physical shop plugin that lets players set up their own stores. Players open a shop using a chest and a sign.
ChestShop Sign Format
╔═══════════════════╗
║ PlayerName ║ ← Line 1: shop owner
║ 64 ║ ← Line 2: quantity
║ B 50 : S 25 ║ ← Line 3: buy:sell price
║ DIAMOND ║ ← Line 4: item name
╚═══════════════════╝Players write this format on signs to create a shop linked to a chest. B 50 = buy price 50, S 25 = sell price 25.
# plugins/ChestShop/config.yml
SHOP_TRANSACTION_MESSAGE_ON_BUY: "&a%buyer% bought %item% x%amount%. &7(%price%₺)"
SHOP_TRANSACTION_MESSAGE_ON_SELL: "&e%seller% sold %item% x%amount%. &7(%price%₺)"
ALLOW_MULTIPLE_SHOPS_AT_ONE_BLOCK: false
SHOP_CREATION_PRICE: 100
TAX_AMOUNT: 5
SERVER_TAX_ACCOUNT: "SunucuKasa"
REVERSE_BUTTONS: false
SHIFT_SELLS_EVERYTHING: true
SHIFT_BUYS_STACKS: trueEconomy Balancing Tips
A balanced economy keeps players motivated for far longer. The following principles will help you maintain that balance:
Money Faucets and Sinks
In a healthy economy, money faucets (sources) and sinks (drains) must be balanced:
| Money Faucets (In) | Money Sinks (Out) |
|---|---|
| Mob kill rewards | Buying items from the shop |
| Item sales (server shop) | Command costs (/home, /warp) |
| Quest rewards | Buying plots/regions |
| First join bonus | Repair costs |
| Vote rewards | Tax system (ChestShop) |
| Starting balance | Enchanting costs |
Methods for Controlling Inflation
- Tax system: take a 3-10% tax on every transaction (ChestShop TAX_AMOUNT)
- Command costs: attach a cost to commands like /home, /warp and /tpa
- Dynamic pricing: automatically lower the price of heavily sold items
- Daily/weekly limits: cap how much can be sold to the shop
- Economy reset events: periodic economy resets through a season system
- Add luxury spending: sinks such as cosmetics, titles and special items
Admin Economy Commands
Knowing the admin commands is important for managing the economy. The most frequently used ones are listed below:
| Command | Description | Example |
|---|---|---|
| /eco give <player> <amount> | Add money to a player | /eco give Steve 5000 |
| /eco take <player> <amount> | Take money from a player | /eco take Steve 1000 |
| /eco set <player> <amount> | Set the balance | /eco set Steve 0 |
| /eco reset <player> | Reset to the starting balance | /eco reset Steve |
| /baltop | Wealth leaderboard | /baltop 2 (page 2) |
| /worth | Check an item's value | /worth diamond_block |
| /setworth <item> <price> | Set an item's value | /setworth diamond 500 |
Advanced Economy Features
Player Market (Auction House)
You can add an auction/market system so players can trade with each other:
# AuctionHouse config.yml
general:
tax: 5
max-listings-per-player: 10
listing-fee: 50
expire-time: 48h
min-price: 1
max-price: 1000000
blacklisted-items:
- BEDROCK
- BARRIER
- COMMAND_BLOCKBanking System
EssentialsX ships with built-in bank support. Players can deposit money and earn interest:
# EssentialsX config.yml — Bank settings
bank:
enabled: true
max-bank-balance: 50000000
interest:
enabled: true
rate: 2.5
interval: 1440 # minutes (24 hours)
max-payout: 10000Troubleshooting
Vault cannot find an economy provider
This error usually comes from the plugin load order. Check in server.log that Vault is loaded before EssentialsX. Restarting the server generally fixes it.
Balance synchronisation problems
To keep balances in sync across every server on a BungeeCord network, use EssentialsX's MySQL storage mode:
# EssentialsX config.yml
storage:
type: mysql
mysql:
host: 127.0.0.1
port: 3306
database: essentials
user: essentials
password: 'strong-password'