Decentralized Coupons is a project that aims to create personalized coupons for users. A particular company(called the generator) creates the coupons which are validated by the company that accepts the coupons(calls the sinks). These coupons are then distributed to the users by the generator company. Why are we doing this? 1. Track the history of a coupon 2. Since each coupon is now an NFT, it can be personalized for the user that obtains it. For eg. 1. Validity periods are unique to each coupon corresponding to the user. 2. Only a valid user can redeem the coupon. 3. Once redeemed, this coupon cannot be redeemed again by anyone else. 4. History of the coupon. 5. Now the coupons can be traded amongst the users as well, depending on who needs them. This creates a separate market for the coupons. (Long term scope.)

DecentralisedCoupons showcase

How it's made

Decentralised Coupons is a platform where parties can create, approve and redeem coupons. Any party which can generate a coupon is called a generator. The coupon generated by the generator can be redeemed by any user the generator transfers the coupon to (the generator itself cannot redeem any coupons) at the sink. Once the generator creates a coupon, it has to be approved by the sink. Once the sink approves the coupon, the user can redeem the coupon at the sink whenever he wants to avail of the coupon discount. Coupon Creation - We maintain a list of approved generators who can issue/create coupons. The following are the main properties of a coupon: generator, sink, owner, id, coupon validity time, coupon validity start time, coupon type, amount redeemable. When a coupon is created, the generator has to wait for the sink mentioned to approve the coupon. Once the coupon is approved by the sink, its validation period starts and the coupon is valid until the time mentioned at the time of the creation of the coupon has elapsed. The generator can send the coupon to a user only if has been approved by the sink and the time period between the approval of the coupon by the sink and its transfer is less than the coupon time validity mentioned at the time of the creation of the coupon. There are two types of coupons - Price Coupons are coupons of absolute value and when the user wants to redeem the coupons at the sink, the value of the coupon is subtracted out of the total price of the product being bought. Percentage Coupons are the coupons whose value is expressed in terms of percentage. When the user wants to redeem the coupon, the discount which the user gets is the value percentage of the total price of the item being bought. Coupon Redemption - Any owner of the coupon can redeem the coupon at the sink to buy the product of the sink at the value mentioned during the time of the creation of the coupon. There are only three conditions for coupon redemption : The coupon should be approved by the sink The time period between the approval of the sink time of redemption is less than the time period of validity mentioned while creating the coupon. The value to be redeemed should be less than the total redeemable value.