Skip to content

Features ​

OpenEco is built around a simple operational model: one server authority per account, in-memory hot path, JDBC cold storage, and optional proxy-assisted handoff for multi-backend networks.

Core economy ​

  • In-memory account registry — balance reads and writes stay on the JVM after accounts are loaded.
  • Batched account loading — accounts preload into memory in bounded batches so hot-path operations never query storage.
  • Multi-currency support — define currencies under currencies.definitions.* with per-currency decimals, starting balances, and max caps.
  • Transaction history — balance changes and payments are recorded; optional retention pruning.
  • Account administration — freeze, unfreeze, rename, delete, and reset accounts from /eco.

Integrations ​

Vault ​

OpenEco registers two economy providers:

  • VaultUnlocked v2 — full multi-currency API when VaultUnlocked is present.
  • Legacy Vault v1 — default-currency compatibility layer for older plugins.

Both providers route through the same core money rules, so behavior stays consistent regardless of which Vault API a dependent plugin uses.

PlaceholderAPI ​

When PlaceholderAPI is installed, OpenEco registers its own expansion automatically. Placeholders cover player balances, ranks, currency names, and leaderboard entries. See Placeholders.

Public addon API ​

Plugin developers can integrate directly through OpenEcoApi registered in Bukkit's ServicesManager. See Addon API.

Player-facing commands ​

FeatureCommand
Check balance/balance [player] [currency]
Leaderboard/baltop [page] [currency]
Send money/pay <player> <amount> [currency]
Transaction history/history [player] [page] [currency]

Pay supports configurable cooldown, tax percentage, and minimum amount. Baltop uses lightweight snapshots refreshed in the background.

Admin tools ​

/eco provides give, take, set, reset, delete, freeze, unfreeze, rename, and reload subcommands. /openecomigrate handles economy plugin imports and storage backend migrations.

/eco reload refreshes messages and most runtime rules. Storage backend changes and cross-server.enabled require a restart.

Optional addons ​

OpenEcoMigrator ​

Imports balances from EssentialsX, CMI, LiteEco, XConomy, BOSEconomy, TheNewEconomy, PlayerPoints, or any active Vault economy provider. See Migration.

OpenEcoEnhancements ​

Adds interest payouts, pay limits, permission-based balance caps, and /exchange for currency conversion. A conversion is atomic — both currency legs are applied together or not at all, so a conversion refused by another plugin never leaves the source balance debited.

OpenEco Proxy (Velocity) ​

Coordinates account flush and refresh during server transfers when cross-server.enabled is true on backends. Exposes /ecosync <player> on the proxy for manual admin refreshes.

Network handoff mode ​

When cross-server.enabled is true and every backend shares one remote JDBC database:

  1. A player's account is flushed to the database when they leave a backend.
  2. The account is re-read from the database before they finish joining the next backend.
  3. The optional Velocity proxy addon can trigger targeted flush/refresh requests.

This is handoff sync, not real-time distributed replication. Balances are not broadcast live to every backend, and simultaneous writes to the same account from multiple live servers remain unsafe.

Platform support ​

  • Paper 1.20.5+ — confirmed to load.
  • Folia 1.21+ — region-aware schedulers for player-facing replies and mutations.
  • Java 21 — required runtime.

What OpenEco does not do ​

  • Real-time balance replication across all backends.
  • Safe multi-writer access to the same account from multiple live servers.
  • Cross-server mode on SQLite or H2 (local-only backends).
  • Shared accounts between players.

For operational guidance, see the Production guide.