Create vouchers and redeemable codes backed by a powerful ecosystem of integrations, built to help your server stand out. Hand out rewards as items players right-click or codes players type, define everything in plain YAML, and reload it live, with persistent anti-dupe and cooldowns that survive restarts.
At a glance
| 🌍 Per-player localization | Every player sees messages in their own Minecraft client language. Ships in 7 languages. |
| 🔒 Soulbound vouchers | Cannot be dropped, stored, or traded (each toggle configurable), with optional bind-on-pickup. |
| 🎁 Vouchers and codes | One reward system, two ways to deliver it. |
| 🧩 Typed rewards | Items, currency, XP, ranks, permissions, commands, titles, sounds, and weighted random sets. |
| 🧱 Layered conditions | Gate redemptions on playtime, rank, region, economy, advancements, PlaceholderAPI, and more. |
| 🛡️ Anti-dupe that holds | Per-item stamps in persistent storage. Clones are rejected; creative, crafting, and item frames are blocked. |
| ⏳ Persistent limits | Cooldowns and usage caps survive restarts and apply network-wide on a shared database. |
| 🔌 Drop-in integrations | ItemsAdder, Oraxen, Nexo, Head Database, Vault, LuckPerms, PlaceholderAPI, MiniPlaceholders, WorldGuard. |
Every feature
Delivery and rewards
- Vouchers (physical items players right-click) and codes (typed with
/voucher redeem). - Reward types: items, currency, XP, ranks, permissions, console/player commands, broadcasts, titles, action bars, sounds, Discord webhooks.
- Weighted random reward sets, on top of always-run rewards.
- Named random rolls (
%random:1-100:loot%): give a roll and announce the exact same number. - Decorated reward items: define an item once (name, lore, glow, custom/head) and grant it by reference.
- Discord webhooks: post a message or a rich embed to a per-voucher webhook on redeem; drop it in a random set to announce only the rare hits.
- Shift + right-click to mass-open a whole stack at once.
The Stash (virtual, itemless vouchers)
- Players claim queued rewards from a
/stashmenu; each claim runs the voucher through the normal pipeline (its conditions and effects), with a Claim all button. /voucher stashgiveand the developer API deliver vouchers to offline players.- Overflow safety net: a reward that does not fit a player's inventory queues in the Stash instead of dropping on the ground.
- Optional auto-expiry with a live countdown on each entry.
Conditions (all must pass before a redeem)
- permission, rank (LuckPerms), world, region (WorldGuard), gamemode, economy balance (Vault), experience level, playtime, item in inventory, advancement completed, PlaceholderAPI comparison, player statistic.
Limits and lifecycle
- Global usage limits per voucher or code (the first N redemptions server-wide).
- Per-player usage limits (each player may redeem it N times, ever).
- Per-player cooldowns that survive restarts, with permission-based tiers so VIPs wait less.
- Expiry: a fixed date (
2026-07-01), a date-time, or relative (30dfrom when it was given). - Active-from: not redeemable until a chosen date.
Security and control
- Soulbound: block dropping, storing, and trading independently; optionally bind to whoever picks it up.
- Owner-only vouchers: only the player it was given to may redeem it.
- Two-step confirmation: require a second click, as a chat prompt or a GUI dialog.
- Blocked in creative and spectator, and as a crafting ingredient or in anvils, grindstones, looms, item frames, and more.
Localization
- Per-player locale: Player A sees Polish while Player B sees French, from their client language, no commands needed.
- Bundled in English, German, French, Spanish, Polish, Danish, and Dutch. Untranslated lines fall back to English, never blank.
Appearance
- Custom items and heads: ItemsAdder, Oraxen, Nexo, Head Database, vanilla player heads, and custom model data.
- Redeem effects: play a sound and/or a firework on a successful redeem.
Admin and developer tools
- Live reload of everything, or a single file by id.
/voucher fromhand: capture the item in your hand as a new voucher, behind a confirm GUI.- Import from CrazyVouchers (
/voucher import): vouchers and codes, with a full report of anything that needs review. /voucher doctordiagnostics and a reward preview GUI.- Published developer API with cancellable pre-redeem and post-redeem events.
- Folia-ready: off-thread storage, region-safe rewards.
A complete voucher
# plugins/ProVouchers/vouchers/daily.yml
id: daily
display-name: "<gradient:#FFD700:#FF8A00>Daily Reward</gradient>"
item:
material: SUNFLOWER
glow: true
lore:
- "<gray>Right-click to claim today's reward"
cooldown: 86400 # once per day, survives restarts
rewards:
- "currency: give 250"
- "item: DIAMOND 1"
- "message: <green>Thanks for playing today!"
That is a working voucher, top to bottom. The documentation covers every reward, condition, and option, with examples.
Migrating from CrazyVouchers?
Drop ProVouchers in beside it and run /voucher import crazyvouchers. It converts your vouchers and codes (both the modern and legacy layouts), translates color codes and placeholders, and prints a complete report of anything that has no equivalent so nothing changes behind your back. Your existing files are never touched.
Requirements
| Server | Paper, Folia, or Purpur |
| Minecraft | 26.1 or newer |
| Java | 25 |
Optional integrations: Vault (economy), LuckPerms, PlaceholderAPI, MiniPlaceholders, WorldGuard, ItemsAdder, Oraxen, Nexo, Head Database. Each is detected automatically when installed; nothing breaks when it is absent.
Help translate
ProVouchers ships in seven languages, and we would love more. The message files are plain YAML (lang/): copy en.yml to your language code, translate the values, and open a pull request or share it in Discord. Native speakers reviewing the existing translations (Polish and Danish especially) are very welcome too.
Found a bug? Have an idea?
Bug reports and feature ideas are welcome. Open a GitHub issue with your server software and version, your ProVouchers version, and the relevant config plus any console output. For quick questions or to help test, join the Discord.
Released under the MIT License.

