Описание
**EzEconomy** is a modern, fast, and flexible Vault economy provider for Minecraft servers. Supports YML, MySQL, SQLite, MongoDB, and custom storage. Multi-currency, async caching, and robust permissions for any server size. Proven to be to 50x faster then other populair economy plugins.

**Available languages**: English, Español, Nederlands, 中国人, Français
[](https://github.com/ez-plugins/EzEconomy/blob/main/README.md)
[](https://discord.gg/yWP95XfmBS)
---
## ★ Our key economy features
EzEconomy is built for performance, flexibility, and ease of use. Highlights include:
- **Vault API compatible**: Works with any Vault-based plugin
- **YML, MySQL, SQLite, MongoDB, or custom storage**: Flexible, production-ready storage options
- **Thread-safe**: Robust error handling and concurrency
- **Multi-currency support**: Optional, per-player, fully configurable
- **Async caching**: Optimized for large servers
- **Comprehensive commands**: `/balance`, `/eco`, `/baltop`, `/bank`, `/pay`, `/currency`
- **Granular permissions**: Per-command and per-bank action
---
## ⚡ Commands
- **/balance**: View your balance
- **/balance **: View another player's balance (`ezeconomy.balance.others`)
- **/eco **: Admin control (`ezeconomy.eco`)
- **/eco gui**: Show balance GUI
- **/baltop [amount]**: Show top balances
- **/bank ...**: Bank management (`ezeconomy.bank.*`)
- **/pay **: Pay another player (`ezeconomy.pay`)
- **/currency [currency]**: Set or view your preferred currency (`ezeconomy.currency`)
- **/ezeconomy cleanup**: Remove orphaned player data (`ezeconomy.admin`)
- **/ezeconomy daily reset**: Reset all daily rewards (`ezeconomy.admin`)
- **/ezeconomy reload**: Reload plugin configuration (`ezeconomy.admin`)
- **/ezeconomy reload messages**: Reload only the message file (`ezeconomy.admin`)
- **/ezeconomy database info**: Show database connection info (`ezeconomy.admin`)
- **/ezeconomy database test**: Test the database connection (`ezeconomy.admin`)
- **/ezeconomy database reset**: Reset all database tables (DANGEROUS) (`ezeconomy.admin`)
- **/tax**: Removed — tax functionality moved to EzTax (https://modrinth.com/plugin/eztax)
---
## 🛡️ Permissions
- `ezeconomy.balance.others`: View other players' balances
- `ezeconomy.eco`: Use /eco admin command
- `ezeconomy.pay`: Use /pay command
- `ezeconomy.currency`: Use /currency command
- `ezeconomy.admin`: Use /ezeconomy admin commands (cleanup, reload, database, daily reset)
- **Bank Permissions**:
- `ezeconomy.bank.create`: Create a new bank
- `ezeconomy.bank.delete`: Delete a bank
- `ezeconomy.bank.balance`: View bank balance
- `ezeconomy.bank.deposit`: Deposit to a bank
- `ezeconomy.bank.withdraw`: Withdraw from a bank
- `ezeconomy.bank.addmember`: Add a member to a bank
- `ezeconomy.bank.removemember`: Remove a member from a bank
- `ezeconomy.bank.info`: View bank info
- `ezeconomy.bank.admin`: All bank admin actions
---
## ⚙️ Configuration Example
### `config.yml` (Only global settings):
```yaml
storage: yml
multi-currency:
enabled: false
default: "dollar"
currencies:
dollar:
display: "Dollar"
symbol: "$"
decimals: 2
euro:
display: "Euro"
symbol: "€"
decimals: 2
# Tax configuration has been removed from EzEconomy and moved to EzTax.
# EzTax on Modrinth: https://modrinth.com/plugin/eztax
conversion:
dollar:
euro: 0.95
gem: 0.01
euro:
dollar: 1.05
gem: 0.012
gem:
dollar: 100
euro: 80
```
### `config-yml.yml` (YML storage settings):
```yaml
yml:
file: balances.yml
per-player-file-naming: uuid
data-folder: data
```
### `config-mysql.yml` (MySQL storage settings):
```yaml
mysql:
host: localhost
port: 3306
database: ezeconomy
username: root
password: password
table: balances
```
### `config-sqlite.yml` (SQLite storage settings):
```yaml
sqlite:
file: ezeconomy.db
table: balances
banksTable: banks
```
### `config-mongodb.yml` (MongoDB storage settings):
```yaml
mongodb:
uri: mongodb://localhost:27017
database: ezeconomy
collection: balances
banksCollection: banks
```
---
## ⬇️ Installation
1. Place `EzEconomy.jar` in your plugins folder
2. Configure `config.yml` and the appropriate `config-*.yml` file for your storage type
3. Restart your server
---
## 🔗 Integration
- EzEconomy automatically registers as a Vault provider
- No extra setup required for Vault-compatible plugins
- **PlaceholderAPI support**:
- Use placeholders in chat, scoreboard, and other plugins:
- `%ezeconomy_balance%` – Your balance
- `%ezeconomy_balance_%` – Your balance in a specific currency (e.g., `%ezeconomy_balance_euro%`)
- `%ezeconomy_bank_%` – Balance of a specific bank
- `%ezeconomy_top_1%` – Top 1 player balance (replace 1 with rank)
- `%ezeconomy_currency%` – Your preferred currency
- Works with all PlaceholderAPI-compatible plugins
---
## 🛠️ Developer: Custom Storage Providers
EzEconomy supports custom storage backends (YML, MySQL, SQLite, MongoDB, or your own)! You can implement your own provider for any database or storage system.
**How to add a custom provider:**
1. Implement the `StorageProvider` interface in your plugin or module.
2. Register your provider before EzEconomy loads:
```java
EzEconomy.registerStorageProvider(new YourProvider(...));
```
3. Only one provider can be registered. If set, EzEconomy will use it instead of YML/MySQL.
4. See the [full StorageProvider reference](../api/storage-provider.md) for required methods and implementation details.
This allows you to use SQLite, MongoDB, Redis, or any other system for player balances and banks!
---
## Performance benchmark
#### Economy Benchmark Summary
| Plugin | Version | Storage | Redis | Status | Run time (s) | Deposit avg (ms) | Withdraw avg (ms) | Balance/Has avg (ms) | RAM avg (MiB) | RAM peak (MiB) | ? vs EzEconomy baseline |
|---|---|---|---|---|---:|---:|---:|---:|---:|---:|---:|
| essentialsx | 2.21.1 | file | off | ok | 1.021 | 0.483072 | 0.276326 | 0.005248 | 465.76 | 466.50 | N/A |
| ezeconomy | 3.1.2 | mysql | off | ok | 0.090 | 0.008794 | 0.007697 | 0.004436 | 415.20 | 415.50 | 1.00x deposit |
| ezeconomy | 3.1.2 | mysql | on | ok | 0.098 | 0.012991 | 0.008751 | 0.004505 | 405.67 | 406.02 | 1.48x deposit |
| ezeconomy | 3.1.2 | sqlite | off | ok | 0.034 | 0.008090 | 0.003718 | 0.003299 | 420.58 | 420.78 | 1.00x deposit |
| ezeconomy | 3.1.2 | sqlite | on | ok | 0.036 | 0.007114 | 0.004541 | 0.003127 | 447.34 | 447.37 | 0.88x deposit |
| xconomy | 2.26.3 | mysql | off | ok | 0.547 | 0.164429 | 0.129993 | 0.191681 | 465.28 | 467.52 | 18.70x deposit |
| xconomy | 2.26.3 | sqlite | off | ok | 0.290 | 0.109194 | 0.061594 | 0.080283 | 428.20 | 430.39 | 13.50x deposit |
#### Bank Operation Benchmarks
| Plugin | Version | Storage | Redis | Status | Run time (s) | BankDeposit avg (ms) | BankWithdraw avg (ms) | BankBalance/Has avg (ms) | RAM avg (MiB) | RAM peak (MiB) |
|---|---|---|---|---|---:|---:|---:|---:|---:|---:|
| essentialsx | 2.21.1 | file | off | skipped (Vault bank API not supported by this economy provider) | N/A | N/A | N/A | N/A | N/A | N/A |
| ezeconomy | 3.1.2 | mysql | off | ok | 3.330 | 1.225967 | 1.153788 | 0.567417 | 449.95 | 458.75 |
| ezeconomy | 3.1.2 | mysql | on | ok | 3.090 | 1.122824 | 1.078041 | 0.516253 | 440.06 | 448.27 |
| ezeconomy | 3.1.2 | sqlite | off | ok | 2.126 | 0.960253 | 0.838308 | 0.061351 | 463.86 | 469.28 |
| ezeconomy | 3.1.2 | sqlite | on | ok | 1.864 | 0.827309 | 0.747836 | 0.064934 | 490.66 | 496.37 |
| xconomy | 2.26.3 | mysql | off | skipped (Vault bank API not supported by this economy provider) | N/A | N/A | N/A | N/A | N/A | N/A |
| xconomy | 2.26.3 | sqlite | off | skipped (Vault bank API not supported by this economy provider) | N/A | N/A | N/A | N/A | N/A | N/A |
---
## ❓ Support
- For help, join our [community Discord](https://discord.gg/yWP95XfmBS)
---
## 🔗 Related Plugins
- [⭐ EzAuction: Buy Orders, Advanced GUI, Show Shop Price](https://modrinth.com/plugin/ezauction)
- [⚠️ EzShops: Dynamic Shops GUI, Player Shops, Sell Hand/Inv](https://modrinth.com/plugin/ezshops)
[](https://modrinth.com/collection/Q98Ov6dA)