Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
UCExchange
UCExchange is a complete daily rotating exchange market plugin for Paper and Folia servers.
It allows players to exchange common resources for money or rarer items through a clean and configurable GUI.
Available offers can rotate automatically, keeping the market fresh and encouraging players to return regularly.
UCExchange is designed for survival, economy, public, and custom servers that need a dynamic exchange system without installing a complete shop plugin.
The plugin includes in-game administration, transaction tracking, SQLite and MySQL support, audit logs, Discord webhook notifications, PlaceholderAPI integration, bStats metrics, and update checking.
Everything can be configured, including the menu, available offers, rotation behavior, messages, database settings, webhook notifications, permissions, and administrative tools.
Features
- Daily rotating exchange market
- Clean GUI-based exchange menu
- Resource-to-money exchanges using Vault
- Resource-to-item exchanges
- Automatic market rotation
- Configurable rotation interval
- Manual market rotation
- Complete in-game offer management
- Create offers using items held by the administrator
- Activate offers in specific GUI slots
- Delete configured offers
- List all configured offers
- SQLite local database support
- MySQL database support
- Detailed player transaction tracking
- Administrative audit logs
- Console exchange logs
- Discord webhook logs
- PlaceholderAPI support
- bStats integration
- Modrinth update checker
- Vault transaction validation
- Automatic item refund when a payment fails
- Configurable messages
- Configurable menu title and size
- Configurable offer slots
- Configurable item names and lore
- Shift-click maximum exchange support
- Separate administrator permissions
- Dedicated Paper 1.21.11 build
- Dedicated Paper and Folia 26.1 build
Commands
Player Commands
/dailyexchange
Aliases:
/de
/exchange
Opens the daily exchange market.
Administrator Commands
/de list
Displays all configured exchange offers.
/de create money <id> <price>
Creates an item-to-money offer using the item held in the administrator's main hand.
/de create item <id>
Creates an item-to-item offer using the main hand as the required item and the off-hand as the reward item.
/de activate <id> <slot>
Activates an existing offer immediately in a selected GUI slot.
/de delete <id>
Deletes a configured offer.
/de logs
Displays recent player transactions.
/de logs <amount>
Displays a specific number of recent player transactions.
/de refresh
Forces a new market rotation.
/de reload
Reloads the UCExchange configuration.
Creating a Money Offer
Hold the required item in your main hand.
The amount contained in the held stack becomes the required exchange quantity.
Example:
Hold 64 wheat in your main hand and execute:
/de create money wheat_sale 250
The following exchange will be created:
64 Wheat → $250
The identifier wheat_sale can then be used to activate, list, or delete the offer.
Example activation:
/de activate wheat_sale 10
This activates the offer in GUI slot 10.
Creating an Item Offer
Place the required item in your main hand.
Place the reward item in your off-hand.
The amount of each held stack is used as the exchange quantity.
Example:
Main hand:
16 Diamonds
Off-hand:
32 Emeralds
Execute:
/de create item diamond_emerald
The following exchange will be created:
16 Diamonds → 32 Emeralds
Example activation:
/de activate diamond_emerald 12
Permissions
Player Permission
ucexchange.use
Allows players to open and use the daily exchange market.
Default:
true
Global Administrator Permission
ucexchange.admin
Grants access to every UCExchange administrator feature.
Default:
OP
This permission includes:
ucexchange.admin.viewucexchange.admin.logsucexchange.admin.editucexchange.admin.rotateucexchange.admin.reload
Detailed Administrator Permissions
ucexchange.admin.view
Allows administrators to view configured offers and administrative information.
ucexchange.admin.logs
Allows administrators to view player transaction history.
ucexchange.admin.edit
Allows administrators to create, activate, modify, and delete exchange offers.
ucexchange.admin.rotate
Allows administrators to force a new market rotation.
ucexchange.admin.reload
Allows administrators to reload UCExchange.
Database Support
UCExchange supports two storage systems:
- SQLite
- MySQL
SQLite is enabled by default and does not require an external database server.
The local SQLite database is automatically created at:
plugins/UCExchange/ucexchange.db
Administrative actions and transaction errors are also recorded inside:
plugins/UCExchange/audit.log
Tracked Transaction Information
Each completed exchange can store:
- Player UUID
- Player username
- Offer identifier
- Offer type
- Input material
- Input quantity
- Reward material
- Reward quantity
- Money received
- Number of completed exchanges
- Transaction date
- Transaction time
- Server identifier
This makes it possible to track exchanged items, received rewards, player activity, and market usage.
SQLite Configuration
SQLite is recommended for servers using a single Paper or Folia instance.
Example:
storage:
type: SQLITE
The database file will be created automatically.
No additional database configuration is required.
MySQL Configuration
MySQL is recommended when transaction data must be stored remotely or shared between multiple server instances.
Example:
storage:
type: MYSQL
mysql:
host: 127.0.0.1
port: 3306
database: ucexchange
username: ucexchange
password: change-me
use-ssl: false
Make sure the configured MySQL user has permission to:
- Create tables
- Insert data
- Read data
- Update data
- Delete data
Audit Logs
UCExchange creates an audit log file at:
plugins/UCExchange/audit.log
The audit log can include:
- Player exchanges
- Offer creation
- Offer deletion
- Offer activation
- Forced market rotations
- Plugin reloads
- Vault transaction errors
- Item refund errors
- Database errors
- Administrative actions
Vault Security
UCExchange validates Vault economy transactions before completing an exchange.
If an economy payment fails:
- The transaction is cancelled
- Removed items are refunded
- The error is written to the audit log
- The player receives an error message
- The failed transaction is not treated as successful
A Vault-compatible economy plugin is required for money exchanges.
Examples include economy plugins that expose their economy through Vault.
PlaceholderAPI
UCExchange includes internal PlaceholderAPI support.
PlaceholderAPI is optional and is only required when UCExchange placeholders are used in another plugin.
Available placeholders:
%ucexchange_next_rotation%
Displays the remaining time or date of the next market rotation.
%ucexchange_last_rotation%
Displays the date or time of the previous market rotation.
%ucexchange_auto_rotate_hours%
Displays the configured automatic rotation interval.
%ucexchange_menu_title%
Displays the configured exchange menu title.
%ucexchange_webhook_enabled%
Displays whether Discord webhook logging is enabled.
%ucexchange_version%
Displays the installed UCExchange version.
%ucexchange_money_slots_count%
Displays the number of configured money offer slots.
%ucexchange_rare_slots_count%
Displays the number of configured rare item offer slots.
%ucexchange_shift_click_max%
Displays whether maximum exchanges using Shift-click are enabled.
These placeholders can be used in compatible plugins such as:
- Scoreboards
- Holograms
- Tablists
- Menus
- Chat formats
- NPC holograms
- Information panels
- PlaceholderAPI-compatible plugins
Discord Webhook
UCExchange can send Discord webhook notifications.
Webhook notifications can be used for:
- Player exchanges
- Money received
- Items received
- Market rotations
- Administrative actions
- Transaction errors
- Database errors
Webhook logging can be enabled or disabled in the configuration.
Administrators can configure:
- Webhook URL
- Username
- Avatar
- Exchange notifications
- Rotation notifications
- Error notifications
bStats
UCExchange uses bStats to collect anonymous usage statistics.
bStats plugin ID:
30365
The collected information may include:
- Number of servers using UCExchange
- Number of players on servers using UCExchange
- Minecraft version
- Server implementation
- Java version
- Plugin version
No private player data, exchange history, database credentials, or configuration secrets are sent to bStats.
Metrics can be enabled or disabled in the UCExchange configuration.
Example:
metrics:
enabled: true
Update Checker
UCExchange includes an update checker.
It can notify administrators when a newer plugin version is available.
Update notifications can be displayed:
- In the server console
- When an administrator joins
- Through configured plugin messages
The update checker can be enabled or disabled in the configuration.
Paper 1.21.11 Version
Compatibility
This build is compatible with:
- Paper 1.21.11
- Compatible Paper 1.21.x environments
- Java 21 or newer
Recommended Java version:
Java 21
Build file:
UCExchange-2.0.0-1.21.11.jar
Requirements
- Paper 1.21.11
- Java 21 or newer
- Vault
- A Vault-compatible economy plugin
- PlaceholderAPI optional
- MySQL optional
- Discord webhook optional
Important
This build must be compiled with Java 21.
Do not use the Java 25 build on a server running Java 21 or Java 22.
Paper and Folia 26.1 Version
Compatibility
This build is compatible with:
- Paper 26.1.x
- Folia 26.1.x
- Java 25
Required Java version:
Java 25
Build file:
UCExchange-2.0.0-26.1.jar
Requirements
- Paper 26.1.x or Folia 26.1.x
- Java 25
- Vault
- A Vault-compatible economy plugin
- PlaceholderAPI optional
- MySQL optional
- Discord webhook optional
Important
This build is only intended for Paper or Folia 26.1.x.
Do not install this build on a Paper 1.21.11 server.
For Paper 1.21.11, use:
UCExchange-2.0.0-1.21.11.jar
UCExchange 2.0.0 – Paper 1.21.11 Update
Compatibility Update
✅ Added full support for Paper 1.21.11
✅ Added a dedicated Java 21 build
✅ Improved compatibility with modern Paper 1.21.x servers
✅ Improved Minecraft version detection
New Database System
✅ Added SQLite local database support
✅ Added MySQL database support
✅ Added automatic database table creation
✅ Added asynchronous transaction storage
✅ Added detailed player exchange tracking
✅ Added safe database shutdown handling
In-Game Administration
✅ Added in-game money offer creation
✅ Added in-game item offer creation
✅ Added offer activation by GUI slot
✅ Added configured offer listing
✅ Added offer deletion
✅ Added recent transaction history
✅ Added forced market rotation
✅ Added configuration reload command
Administrator Permissions
✅ Added ucexchange.admin
✅ Added ucexchange.admin.view
✅ Added ucexchange.admin.logs
✅ Added ucexchange.admin.edit
✅ Added ucexchange.admin.rotate
✅ Added ucexchange.admin.reload
Transaction Tracking
Each exchange can now record:
- Player UUID
- Player name
- Offer ID
- Offer type
- Input item
- Input amount
- Reward item
- Reward amount
- Money reward
- Number of exchanges
- Transaction date
- Server identifier
Security Improvements
🛠 Improved Vault transaction validation
🛠 Added automatic item refunds when economy payments fail
🛠 Added protection against invalid inventory interactions
🛠 Improved Shift-click exchange safety
🛠 Added administrative audit logs
🛠 Improved error handling
🛠 Improved database error handling
Integrations
📊 Integrated bStats using plugin ID 30365
🧩 Updated PlaceholderAPI support
🔔 Improved Discord webhook logging
🔄 Improved update checker behavior
Technical Improvements
🔧 Compiled with Java 21
🔧 Improved configuration loading
🔧 Improved plugin startup validation
🔧 Improved plugin shutdown behavior
🔧 Improved asynchronous database operations
🔧 Improved code organization
🔧 General performance and stability improvements
Important
This build is intended for Paper 1.21.11.
It requires Java 21 or newer.
Use:
UCExchange-2.0.0-1.21.11.jar
Do not use the Java 25 build on a server running Java 21 or Java 22.
UCExchange 2.0.0 – Paper and Folia 26.1 Update
Compatibility Update
✅ Added support for Paper 26.1.x
✅ Added support for Folia 26.1.x
✅ Added a dedicated Java 25 build
✅ Improved support for modern Paper server environments
✅ Improved support for Folia scheduling environments
✅ Improved Minecraft version detection
New Database System
✅ Added SQLite local database support
✅ Added MySQL database support
✅ Added automatic database table creation
✅ Added asynchronous transaction storage
✅ Added detailed player exchange tracking
✅ Added safe database shutdown handling
In-Game Administration
✅ Added in-game money offer creation
✅ Added in-game item offer creation
✅ Added offer activation by GUI slot
✅ Added configured offer listing
✅ Added offer deletion
✅ Added recent transaction history
✅ Added forced market rotation
✅ Added configuration reload command
Administrator Permissions
✅ Added ucexchange.admin
✅ Added ucexchange.admin.view
✅ Added ucexchange.admin.logs
✅ Added ucexchange.admin.edit
✅ Added ucexchange.admin.rotate
✅ Added ucexchange.admin.reload
Transaction Tracking
Each exchange can now record:
- Player UUID
- Player name
- Offer ID
- Offer type
- Input item
- Input amount
- Reward item
- Reward amount
- Money reward
- Number of exchanges
- Transaction date
- Server identifier
Folia Improvements
⚡ Improved scheduler compatibility
⚡ Improved player task scheduling
⚡ Improved global task scheduling
⚡ Improved asynchronous database handling
⚡ Reduced unsafe Bukkit scheduler usage
⚡ Improved stability on regionized servers
Security Improvements
🛠 Improved Vault transaction validation
🛠 Added automatic item refunds when economy payments fail
🛠 Added protection against invalid inventory interactions
🛠 Improved Shift-click exchange safety
🛠 Added administrative audit logs
🛠 Improved error handling
🛠 Improved database error handling
Integrations
📊 Integrated bStats using plugin ID 30365
🧩 Updated PlaceholderAPI support
🔔 Improved Discord webhook logging
🔄 Improved update checker behavior
Technical Improvements
🔧 Compiled with Java 25
🔧 Updated for modern Paper 26.1 APIs
🔧 Improved configuration loading
🔧 Improved plugin startup validation
🔧 Improved plugin shutdown behavior
🔧 Improved asynchronous database operations
🔧 Improved code organization
🔧 General performance and stability improvements
Important
This build is only for Paper or Folia 26.1.x.
It requires Java 25.
Use:
UCExchange-2.0.0-26.1.jar
For Paper 1.21.11, use:
UCExchange-2.0.0-1.21.11.jar
Do not install the Java 25 build on a Java 21 or Java 22 server.
Notes
UCExchange is designed to remain lightweight, practical, and easy to configure while providing enough flexibility for public servers and custom economy setups.
Administrators can manage offers directly in game without manually editing every exchange in the configuration file.
Transactions can be stored locally with SQLite or remotely with MySQL.
The database and audit log make it possible to track exchanged items, received rewards, player activity, administrative actions, and overall market usage.
Always use the UCExchange build matching your Minecraft and Java version.


