# Enhanced Complex Vouchers

**URL:** <https://governance.cartesi.io/t/enhanced-complex-vouchers/341>\
**Category:** Technical Evolution Plan\
**Created:** [January 9, 2024, 11:13pm UTC](https://governance.cartesi.io/t/enhanced-complex-vouchers/341 "2024-01-09T23:13:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![pedro.argento](https://avatars.discourse-cdn.com/v4/letter/p/f19dbf/32.png) [@pedro.argento](https://governance.cartesi.io/u/pedro.argento)\
**Post date:** [January 9, 2024, 11:13pm UTC](https://governance.cartesi.io/t/enhanced-complex-vouchers/341/1 "2024-01-09T23:13:07Z")

</div>

A version of complex vouchers were already done in response to the [RFP #3](https://governance.cartesi.io/t/rfp-003-beginner-solidity-complex-vouchers/90). However, with the upcoming completion of the output unification, we will be able to implement the complex vouchers as a library, using DelegateCall, making it a lot easier to use and with more functionalities.

Guilherme did a nice write up about examples of useful comple vouchers in this [Github issue](https://github.com/cartesi/rollups-contracts/issues/42#issuecomment-1694932051).

Time based vouchers also have a bunch of applications in finance. For example, we could have a forward operation that allows me to buy X amount of a token in a future date for a certain price x. The application can generate two vouchers at the moment of the deal that can only be executed at the forward contract expiration date: one transfer of x eth from the buyer to the seller and a transfer of X tokens to the buyer.

---

<div class="post-metadata">

**Author:** ![milton-cartesi](https://avatars.discourse-cdn.com/v4/letter/m/9f8e36/32.png) [@milton-cartesi](https://governance.cartesi.io/u/milton-cartesi)\
**Post date:** [January 10, 2024, 10:54pm UTC](https://governance.cartesi.io/t/enhanced-complex-vouchers/341/2 "2024-01-10T22:54:16Z")

</div>

This was the best explanation I’ve read so far of the potential for these complex vouchers, thank you!

It also crossed my mind that these forward operations seem like a great fit for Optimistic Rollups because they imply high latency already (e.g., if the future date is one month from now, by then the voucher will be more than finalized!)

---

<div class="post-metadata">

**Author:** ![felipeargento](https://avatars.discourse-cdn.com/v4/letter/f/df788c/32.png) [@felipeargento](https://governance.cartesi.io/u/felipeargento)\
**Post date:** [January 11, 2024, 1:50pm UTC](https://governance.cartesi.io/t/enhanced-complex-vouchers/341/3 "2024-01-11T13:50:31Z")

</div>

Flexibility of side-effects seems like a great improvement!  
And it doesnt look like a major feature that would take a long time to implement (given the fulfilled RFP).

I like the idea of pushing forward things that are quick to do, since they start bringing value faster than the ones that take a long time. So I support this idea!
