The three pieces of a server economy
It helps to see an economy as three separate jobs. Most setups that do not work are missing one of them, rather than having a broken one.
| Piece | Its job | What this guide uses |
|---|---|---|
| Economy plugin | Keeps every player's balance and adds commands such as /balance and /pay | EssentialsX |
| Bridge | Lets other plugins read and change those balances without knowing which economy plugin runs | VaultUnlocked, which the server knows as Vault |
| Shops | Turn items into money and money into items, with signs, chests or menus | EssentialsX signs for the server, QuickShop-Hikari for players |
All three are plugins, so the server runs Paper or Purpur; the comparison of Paper, Purpur and Spigot helps you pick.

What Vault does, and which Vault to install
Vault holds no money and gives players nothing to type. It is a shared language: a shop plugin asks Vault to take 40 from a player, and Vault passes that on to whichever economy plugin is installed.
The original Vault has not had a release since version 1.7.3 in July 2020. VaultUnlocked is a fork that is still kept up to date, and inside the server it registers under the name Vault, so plugins that look for Vault find it. EssentialsX treats Vault as optional and hands its balances over as soon as Vault is present.
One Vault, never two
VaultUnlocked and the original Vault carry the same plugin name. Keep a single jar in the plugins folder, and on a current server make it VaultUnlocked, which the plugin catalog on the Plugins tab has checked against 26.2.
Balances and payments with EssentialsX
EssentialsX brings an economy along with its homes, warps and kits. Installing it, LuckPerms and VaultUnlocked is covered in the EssentialsX guide, so this part starts with the plugin running.
EssentialsX has to exist for your version
The catalog offers stable builds for your exact Minecraft version only, and the newest stable EssentialsX, 2.22.0, stops at 26.1.2. A server on Java Edition 26.2 therefore does not find it in the catalog; the EssentialsX guide explains which build to use there.
| Command | What it does |
|---|---|
/balance or /bal | Shows your own balance, or someone else's when you add a name |
/pay <player> <amount> | Moves money from your balance to another player |
/paytoggle | Stops payments to you, or allows them again |
/baltop | Lists the richest players, one page at a time |
/eco give <player> <amount> | Adds money that did not exist before |
/eco take <player> <amount> | Removes money, and refuses to go below the minimum balance |
/eco set <player> <amount> | Sets an exact balance |
/eco reset <player> <amount> | Puts the balance back to the starting balance, whatever amount you type |
Staff commands like eco are easiest in the console, where they go without the slash: eco give Wren 250. In the game each command needs its own permission, and EssentialsX gives none of them to ordinary players, not even /balance. Operators have them all; everyone else gets them through LuckPerms, which the operator levels guide introduces.
Console, with LuckPerms
lp group default permission set essentials.balance true
lp group default permission set essentials.pay true
lp group default permission set essentials.balancetop true/baltop reads from a list that EssentialsX rebuilds once it is older than two minutes, so a payment made a moment ago may not show yet. /baltop force rebuilds it on the spot; in the game that needs essentials.balancetop.force.
The starting balance and the limits
plugins/Essentials/config.yml
starting-balance: 0
currency-symbol: '$'
max-money: 10000000000000
min-money: -10000starting-balance is what a player has on their first join, so raising it later does not top up anyone who joined before. min-money sits below zero, yet ordinary players still cannot pay or buy their way into the red. Restart the server after editing the file.
Buy and sell signs, line by line
An EssentialsX sign is the quickest admin shop: it hands out a fixed amount of an item for a fixed price, or takes it in and pays. The items come out of the server and vanish into it, so nobody restocks a chest. Every sign type starts switched off.
plugins/Essentials/config.yml
enabledSigns: [buy, sell]In the file the whole list is there with a # in front of each name. Change the enabledSigns: line itself to the line above, leave the names with a # as they are, and restart the server.
| Line | Buy sign | Sell sign |
|---|---|---|
| 1 | [Buy] | [Sell] |
| 2 | How many the player gets, for example 16 | How many the player hands in, for example 32 |
| 3 | The item, for example bread | The item, for example wheat |
| 4 | The price, written as $40 or just 40 | What the player receives, such as $12 |
When you finish writing a correct sign, its first line turns dark blue. Dark red means EssentialsX could not read it: the amount has to be a whole number of at least 1, and the item has to be a name it recognises. A right-click makes the trade. Sneaking while you click trades the whole stack in your hand, priced per item, because allow-bulk-buy-sell is on unless you turn it off.
Who may write the signs, and who may use them
Writing a sign takes essentials.signs.create.buy or essentials.signs.create.sell, and using one takes essentials.signs.use.buy or essentials.signs.use.sell. Give players the use permissions only. Anyone who can create a buy sign can also write one that hands out diamonds for 1.
Console, with LuckPerms
lp group default permission set essentials.signs.use.buy true
lp group default permission set essentials.signs.use.sell trueSelling with /sell and worth.yml
/sell hand and /sell inventory sell straight to the server at the prices in plugins/Essentials/worth.yml. The file already holds prices, cobblestone at 1 and diamond at 200 among them, and anything it does not list cannot be sold at all. /worth hand shows what the item you hold would fetch, and /setworth <item> <price> changes a price from inside the game. Items with a custom name are refused by /sell until you switch on allow-selling-named-items.
Player shops with QuickShop-Hikari
Signs trade with the server. For shops that players run and stock themselves you need a chest shop plugin. QuickShop-Hikari is kept current: release 6.3.0.2 from 4 September 2026 supports 26.2 on Paper and Purpur, and it is in the plugin catalog.
Install the pieces
From the Plugin catalog on the Plugins tab, install VaultUnlocked and QuickShop-Hikari next to your economy plugin, then restart the server once. On 26.2 EssentialsX comes from the build described in the EssentialsX guide rather than from the catalog.
Let players open shops
Out of the box only operators may create shops. Give the default group the bundle
quickshop.playerwithlp group default permission set quickshop.player true.Open a shop
Place a chest, hold the item you want to sell and left-click the chest with it. QuickShop-Hikari asks for the price in chat, and you answer with a number.
Stock the chest
Put the goods inside. An ordinary shop can only sell what is actually in the chest, so an empty chest is a closed shop.
In chat, looking at your shop
/quickshop price 25
/quickshop buy
/quickshop sell/quickshop price changes the price, /quickshop buy turns the shop around so it buys that item from other players, and /quickshop sell switches it back. Customers who sneak while they click trade either one item or everything in one go. The floating item above a shop chest uses ProtocolLib or PacketEvents when one of them is installed.
Put a market street inside a claim so nobody digs into a shop from behind; the griefing guide shows how claims work.
An admin shop, player shops, or both
| Admin shop | Player shops | |
|---|---|---|
| Built with | [Buy] and [Sell] signs, or a QuickShop-Hikari shop switched to /quickshop unlimited | Ordinary QuickShop-Hikari chests |
| Stock | Never runs out | Whatever the owner put in |
| Prices set by | You | Each shop owner |
| Effect on money | Creates money when it buys items, removes money when it sells | Moves money between players; the total stays the same |
Running both works well: a small admin shop at spawn buys common farm goods at a low price and sells what nobody can make, and a market street handles the rest. Keep admin prices modest, because nobody sells to a player below what the server pays.
Where money enters and where it leaves
Prices climb when money keeps coming in and nothing takes it out. After a few weeks veterans sit on huge sums, player shops charge accordingly, and the starting balance buys nothing. The cure is knowing every tap and every drain.
| Where | Direction | Worth knowing |
|---|---|---|
starting-balance | In | Once for each new player |
[Sell] signs and /sell | In | Usually the biggest tap, because farms never stop |
/eco give | In | Event prizes and refunds |
[Buy] signs | Out | Items that cannot be farmed make the steadiest drain |
command-costs | Out | A price each time a command is used |
/eco take | Out | Fines |
/pay and player shops | Neither | Money changes hands and the total stays put |
Charge a little for convenience
plugins/Essentials/config.yml
command-costs:
home: 25
kit-tools: 1500Each line charges that amount every time the command runs, and a kit is written as kit- followed by its name. A small price on something people do every evening, such as going home, drains more over a month than one expensive item. The numbers are only an example.
A sell price above a buy price prints money
If one sign sells 16 bread for 40 and another buys 16 bread for 50, anyone can walk between them and earn 10 on every round. Before you open, compare every item that appears on both kinds of sign and in worth.yml.
Switch on economy-log-enabled and EssentialsX records every trade on buy, sell and trade signs and every use of /sell. A week of that shows which item is the real tap.
Keeping prices steady for a whole season takes more than a config file. Minecraft server economy on astroworldmc.site goes further into faucets and sinks, fees on player shops and how to stop inflation before veterans run away with it.
Wiping balances, with a backup first
An exploit or a badly priced sign can leave a few players with absurd sums. EssentialsX keeps balances in plugins/Essentials/userdata, one file per player named after their UUID, with the amount under money. Homes live in that same file, so deleting the folder throws away everyone's homes along with the money.
Make a backup
On a plan with backup slots, use Create backup on the Backups tab and give it a name such as before the balance wipe. Restore puts the whole server back to that moment if the wipe goes wrong. Without backup slots, tick the
userdatafolder inplugins/Essentialson the Files tab, press Zip and download the archive that appears next to it.Warn the players
Say when it happens, so nobody spends the evening saving up for a purchase that will not come.
Reset in the console
eco set ** 0sets the balance of every player the server has ever seen, offline players included. A single*would only reach the players who are online.Check the result
balfollowed by a player name shows one balance, andbaltop forcerebuilds the list straight away.
Use your starting balance instead of 0 if old and new players should begin level.
Written and checked by the Lodehost team, last reviewed on 14 September 2026.




