Coupon Subsystem

When the price of VSD < $1.0, the system will move to contraction stage and issue debt to attract users to reduce the supply of VSD. The user can buy the debt as a coupon at a discounted price, and the coupon holder will have the right to redeem the coupon for future expansion reward. The coupon subsystem of VSD is inspired from ESD's coupon design with the following major enhancements

  • The coupons are automatically redeemed ordered by their expiration time;

  • Users can extend the expiration of coupon by burning VSD.

Automatic Coupon Redemption

When the system enters into expansion stage, the expansion reward will be used to redeem the outstanding coupons before being distributed to bonded LPs. If multiple users have multiple coupons, the order of the redemption will be based on their expiration time, where the coupon with closer expiration time will be redeemed first.

Example A (Full redemption). Suppose current system epoch is 4, user A has 100 coupons expired at epoch 6, and user B has 100 coupons expired at epoch 7. When the system enters epoch 5, it reaches an expansion stage with 200 VSD as expansion reward. The system finds 200 outstanding coupons and reserves 200 VSD for future redemption. When the system enters epoch 6, user A's 100 coupons will be fully redeemed for 100 VSD. When the system enters epoch 7, user B's 100 coupons will be fully redeemed for 100 VSD.

Example B (Partial redemption). Suppose current system epoch is 4, user A has 100 coupons expired at epoch 6, and user B has 100 coupons expired at epoch 7. When the system enters epoch 5, it reaches an expansion stage with 150 VSD as expansion reward. The system finds 200 outstanding coupons and reserves 150 VSD for future redemption. When the system enters epoch 6, user A's 100 coupons will be fully redeemed for 100 VSD. When the system enters epoch 7, user B's 100 coupons will be partially redeemed for 50 VSD.

Example C (Expired). Suppose current system epoch is 4, user A has 100 coupons expired at epoch 6, and user B has 100 coupons expired at epoch 7. When the system enters epoch 5, it reaches an expansion stage with 50 VSD as expansion reward. The system finds 50 outstanding coupons and reserves 50 VSD for future redemption. When the system enters epoch 6, user A's 100 coupons will be partially redeemed for 50 VSD. When the system enters epoch 7, user B's 100 coupons will be expired as there is no VSD reserved for redemption.

Coupon Extension

When a coupon is close to expire, a coupon holder may voluntarily extend the expiration of the coupon by burning VSD. The holder can choose to extend the whole coupon or just part of it. Further, the holder can choose how long the coupon will be extended, with longer time with more VSD.

The equation of coupon extension is based on liveness of a coupon, which is defined as

liveness=couponAmount×timeToExpireliveness = couponAmount \times timeToExpire

For example, suppose current epoch is 5, a 100 coupon expired at epoch 7 will have liveness as

liveness=100×(75)=200liveness = 100 \times (7 - 5) = 200

A user can extend the coupon by increasing the liveness of the coupon as

newLiveness=oldLiveness+vsdAmount×defaultCouponExpirationnewLiveness = oldLiveness + vsdAmount \times defaultCouponExpiration

and thus the time-to-expire (in term of epochs) of the coupon is

timeToExpire=floor(newLiveness/couponAmount)timeToExpire = \mathrm{floor}(newLiveness / couponAmount)

Example D. Suppose current epoch is 5, default coupon expiration is 30 epochs, and user A has 100 coupon expired at epoch 7. The user burns 10 VSD to extend the coupon. The new liveness of the coupon is

newLiveness=200+30×10=500newLiveness = 200 + 30 \times 10 = 500

As a result, the time-to-expire of the coupon becomes

500/100=5500 / 100 = 5

which means the extended coupon will be expired at epoch 10.

Last updated