Voucher System

I would like to have the possibility to generate vouchers that can be redeemed by the users in the chat.
So you can simply give the codes away in competitions or put them in the package for merch orders, etc.
The streamer can determine what the viewer receives when they redeem the voucher.
And how often the voucher can be redeemed, expiration dates, etc.

Possible rewards: e.g. Earn chat points or xp for the level system when you redeem the voucher or a temporary multiplier to get more chat points.