By the end of this guide you'll have a working in game economy on your Paper or Spigot Minecraft server. Players will be able to earn money, check their balance, pay each other, and buy or sell items at shops. This is written for anyone running a survival or SMP server who wants a real currency without paying for a premium plugin.
The setup uses three pieces: EssentialsX (which holds the actual money and runs the commands), Vault (which lets other plugins read those balances), and a shop plugin so players have something to spend their coins on. All three are free, and the whole thing takes about twenty minutes if you go step by step.
How Vault fits into the picture
It helps to understand what each plugin actually does before you start dropping jar files into a folder. A common mistake is thinking Vault is the economy. It isn't. Vault stores no money at all.
Vault is a bridge. It sits in the middle and gives every other plugin one shared way to ask questions like "how much does this player have" or "take 50 coins from this player." Without Vault, a shop plugin would need custom code for every economy plugin on earth. With Vault, the shop just talks to Vault, and Vault talks to whatever economy you installed.
EssentialsX is the part that holds the money. It's the economy provider. When a shop charges a player, the chain looks like this:
Shop plugin asks Vault to take money. Vault forwards the request to EssentialsX. EssentialsX updates the player's balance.
So you need both. EssentialsX to store and manage the cash, Vault so your shops and other plugins can reach it.
Step 1: Install Vault and EssentialsX
You'll need three jar files to begin. Grab the latest builds of each one. EssentialsX comes as a few separate downloads, and the main one is called EssentialsX. The economy lives inside that main jar, so you do not need a separate economy add on.
- Vault (sometimes listed as VaultUnlocked on newer servers)
- EssentialsX (the core jar)
- EssentialsXChat only if you want chat formatting, which is optional here
Stop your server first. Then upload all the jars into the plugins folder. If you're on a panel like the one at panel.bytte.cloud, open the file manager, go into plugins, and drag the files in. Over SFTP it's the same idea:
plugins/
Vault.jar
EssentialsX-2.20.1.jar
Now start the server back up. Watch the console as it boots. You're looking for lines that confirm both plugins loaded:
[Server thread/INFO]: [Vault] Enabling Vault v1.7.3-b131
[Server thread/INFO]: [Essentials] Enabling Essentials v2.20.1
[Server thread/INFO]: [Vault][Economy] Essentials found: Loaded
That last line is the one that matters most. It means Vault detected EssentialsX as the economy provider and hooked into it. If you see it, the hard part is done.
Step 2: Confirm the economy is actually working
Don't trust the startup log alone. Test it live. Join your server and run:
/balance
You should get something back like Balance: $0.00. If you set a starting balance (next step), it'll show that amount instead. As an operator you can also confirm Vault picked an economy with:
/vault-info
Look for an Economy line that names Essentials. If it says no economy is loaded, jump to the troubleshooting section, because nothing else will work until that's fixed.
Step 3: Learn the core money commands
EssentialsX gives you a handful of commands that cover almost everything. Here are the ones you'll use constantly.
| Command | What it does | Who uses it |
|---|---|---|
/balance | Shows your own money | Everyone |
/balance Steve | Shows another player's money | Staff (needs a permission) |
/pay Alex 100 | Sends money to another player | Everyone |
/eco give Steve 500 | Creates money and gives it to a player | Admins only |
/eco take Steve 200 | Removes money from a player | Admins only |
/eco set Steve 1000 | Sets a player's balance to an exact number | Admins only |
/baltop | Shows the richest players | Everyone |
The difference between /pay and /eco give trips people up. /pay moves money that already exists from one player to another. /eco give mints brand new money out of nothing, which is why only admins should have it. Use /eco give for things like staff rewards or fixing a mistake, not for everyday play.
Step 4: Set a starting balance for new players
By default everyone joins with zero coins, which makes the first few hours boring. Give new players a small float so they can buy a starter tool or two. Open the EssentialsX config file at plugins/Essentials/config.yml and find the starting-balance line:
starting-balance: 100
Set it to whatever feels right for your server. A hundred coins is sensible if a stack of cobblestone sells for a coin or two. While you're in that file, you can also rename the currency and pick its symbol:
currency-symbol: '$'
minimum-pay-amount: 0.001
max-money: 10000000000000
Save the file, then reload Essentials so the change takes effect without a full restart:
/ess reload
Existing players keep their current balance. Only people joining for the first time after this change get the starting amount.
Step 5: Add shops so money has a purpose
An economy with nothing to buy is just a number. You have two main ways to add shops, and most servers end up using both.
Option A: EssentialsX sign shops
Sign shops are built into EssentialsX, so there's nothing extra to install. You place a sign, write a few lines on it, and it becomes a working shop. Here's the format for a sign that sells dirt:
[line 1] [Buy]
[line 2] 64
[line 3] 10:5
[line 4] dirt
That sign sells 64 dirt for a buy price of 10 and a sell price of 5. The third line is buy price then sell price separated by a colon. To make these signs work, a player (or admin) needs the right permission:
essentials.signs.buy.create
essentials.signs.sell.create
essentials.signs.use
And you have to enable the sign types in config.yml. Find the enabledSigns section and make sure buy and sell are listed:
enabledSigns:
- buy
- sell
- trade
Sign shops are great for a central server store run by staff. They're a bit clunky for player run shops because every item needs its own sign.
Option B: QuickShop for chest shops
For player shops, a chest shop plugin is much nicer. QuickShop (the Hikari or Reremake fork) lets a player point at a chest, set a price, and instantly have a shop. Drop the jar into plugins and restart. On first boot it creates its own config and confirms it found Vault:
[QuickShop] Selected economy bridge: Vault
[QuickShop] Economy provider: Essentials
To create a shop, a player holds the item they want to sell, left clicks a chest, and types a price in chat when prompted. Done. The chest now shows the item, the price, and how many are in stock. Buyers right click the chest to purchase.
Admin shops versus player shops
This is an important distinction. A player shop draws from a real chest with real items, and the money goes to that player. When the chest runs empty, the shop stops selling. A player shop is limited by actual stock, which keeps the economy honest.
An admin shop has unlimited stock and never runs out. Money spent there vanishes from the economy instead of going to a person, and money earned there appears from nowhere. In QuickShop, a staff member with quickshop.create.admin can convert a shop to admin mode. Use admin shops carefully. Too many of them flood the server with cash and cause inflation. A good rule is to use admin shops only for a few core items players cannot easily produce, and let player shops handle the rest.
Step 6: Hand out the right permissions
If you run a permissions plugin like LuckPerms, you'll want to give your default group the basic economy nodes and reserve the powerful ones for staff. A sensible starting set for normal players looks like this:
/lp group default permission set essentials.balance true
/lp group default permission set essentials.pay true
/lp group default permission set essentials.baltop true
/lp group default permission set quickshop.create.sell true
/lp group default permission set quickshop.create.buy true
And the admin only nodes, which you should keep off the default group:
essentials.eco (covers /eco give, take, set)
essentials.balance.others
quickshop.create.admin
Without a permissions plugin, EssentialsX falls back to giving operators everything and regular players the basics, which works for a tiny server but gets messy fast. We'd recommend LuckPerms once you have more than a few people.
Troubleshooting
A few problems show up again and again. Here's how to clear the common ones.
No economy found, or "Vault found no economy provider"
This is the big one. It almost always means EssentialsX failed to load before Vault checked for it, or it didn't load at all. Check your console for an Essentials error during startup. Common causes are a Java version that's too old for the EssentialsX build you downloaded, or a corrupted jar from an interrupted upload. Re-download the jar, make sure your server's Java matches what EssentialsX needs, and confirm both Vault and EssentialsX sit directly in plugins and not in a subfolder. Restart fully rather than reloading, because a reload won't re-hook the economy.
Shop prices not saving
If sign shop or QuickShop prices reset or vanish after a restart, the usual culprit is file permissions on the data folder. The server process needs write access to plugins/QuickShop or the EssentialsX userdata. On a Linux box, check ownership and fix it if the panel user can't write there. Also make sure you're stopping the server cleanly with /stop or /end so plugins get a chance to save. Killing the process can drop unsaved shop data.
"You do not have permission" on a command that should work
Permission node typos are everywhere. Double check the exact node, since essentials.balance and essentials.balance.others are two different things. If a player can check their own balance but not someone else's, they're missing the .others node. After changing permissions in LuckPerms, run /lp sync or have the player rejoin so the change applies.
Money shows as a weird symbol or the wrong currency name
If your currency symbol renders as a box or question mark, the config file was probably saved in the wrong encoding. Save config.yml as UTF-8 and stick to a plain symbol like $ if you keep hitting trouble. Run /ess reload afterward.
/pay says a player has no account
EssentialsX only creates a money account the first time a player joins after the economy is active. If someone played before you installed it, have them log in once and the account appears. You can force it with /eco set Steve 0 while they're online.
Where to go from here
You now have a currency, working commands, a starting balance for newcomers, and shops where coins actually mean something. The next things worth adding are a way to earn money beyond trading, like job or mob bounty plugins, and a quick rules sign in spawn explaining how the shops work. Keep an eye on your admin shops in the first couple of weeks, since that's where most economies go wrong. Start prices a little high, watch what players actually trade, and adjust from there. A balanced economy is something you tune over time, not something you set once and forget.



