[](https://github.com/alazso/provouchers/actions)
[](https://faststats.dev/project/provouchers)
[](https://papermc.io/)
[](https://github.com/alazso/provouchers/blob/main/LICENSE)
[](https://alaz.so/provouchers/docs)
[](https://github.com/alazso/provouchers)
[](https://discord.gg/m3AKQfrMS5)
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.
| 🌍 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. |
Delivery and rewards
/voucher redeem).%random:1-100:loot%): give a roll and announce the exact same number.The Stash (virtual, itemless vouchers)
/stash menu; each claim runs the voucher through the normal pipeline (its conditions and effects), with a Claim all button./voucher stashgive and the developer API deliver vouchers to offline players.Conditions (all must pass before a redeem)
Limits and lifecycle
2026-07-01), a date-time, or relative (30d from when it was given).Security and control
Localization
Appearance
Admin and developer tools
/voucher fromhand: capture the item in your hand as a new voucher, behind a confirm GUI./voucher import): vouchers and codes, with a full report of anything that needs review./voucher doctor diagnostics and a reward preview GUI.# 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.
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.
| 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.
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.
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.