TL : DR
This forum post puts forward an idea of using conditional tokens to facilitate DAOs working with other DAOs to swap tokens and fund new projects.
Let’s take a scenario. DAO A wants to partner with DAO B to create a new product which benefits both DAOs.
For example’s sake, we need to satisfy the following requirements:
- DAO A gets a pre-negotiated amount of DAO B’s tokens.
- DAO B gets a pre-negotiated amount of DAO A’s tokens
- The team responsible for building and managing the new product requires a pre-negotiated amount of funds from both DAO A and DAO B to do so.
Using the conditional token framework, we can create a token representing successful funding of the new products wallet by both DAO A and DAO B. It would look like:
YES - “Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?” && YES - “Will DAO B invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?”
How do we create a token redeemable for collateral only when the two conditions have been met?
First things first let’s create a condition representing DAO A providing funds to the new project’s wallet.
“Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?” This question should have two outcomes, “Yes” and “No”.
We will need to create a condition for this question for DAO B.
“Will DAO B invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?” With the same outcomes of “Yes” and “No”.
Now with these two conditions and the magic of the conditional token framework, we can do something special.
DAO A can send the negotiated amount of stable coins to the conditional token contract specifying the ID of condition “Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?” to produce the negotiated amount of conditional tokens representing:
YES - Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?"
And
NO - Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?"
Next step would be for DAO A to “split” the negotiated amount of conditional tokens representing, “YES - Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?”, by the condition “Will DAO B invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?”.
The result would be DAO A possessing the negotiated amount of conditional tokens:
“YES - Will DAO B invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?” && YES - Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?"
And
“NO - Will DAO B invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?” && YES - Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?"
And
NO - Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?"
What does DAO A do with these tokens?
Well, they keep
NO - “Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?”
And
“NO - Will DAO B invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?” && YES - Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?".
But send:
“YES - Will DAO B invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?” && YES - Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021?"
To the wallet address of the new product team.
Now DAO B goes through the same process, so it has the same conditional token set as DAO A but in the amount that it has agreed to fund the new project. Suppose DAO B decides to send its conditional tokens representing successful co-operation to the new product team. In that case, it will mean that the wallet owners representing the new product will be able to redeem the conditional tokens for stable coins.
However if one of the DAOs does not send through its conditional tokens or does not send through the amount negotiated, then the project will not be able to redeem their conditional tokens for collateral but the DAOs would.
But wait, how does this facilitate token swaps between the DAOs?
The DAOs can mint outcomes as before, but they use their projects token as collateral.
DAO A and B go through the same process as above to mint conditional tokens. Instead of using a stable coin as collateral, they use their token respectively and send the conditional token representing successful funding of the new product to each other. This way, if the new project’s funding is successful, both DAOs may redeem their conditional tokens for the other DAOs token. Of course, the swap of these conditional tokens would need to occur before sending tokens to the new project’s wallet.
Conditional tokens can facilitate very granular and nuanced agreements. A token can represent every point of a contract. Moreover, they can be structured so that all conditions need to be met to be redeemed for collateral. Of course, the wording of these conditions would have to be very specific and much like how regular legal contracts require lawyers to draft them, I’d imagine that legal professionals working in the blockchain space will craft these conditions to ensure their interpretation is watertight.
**A caveat to this is one could argue that "Will DAO A invest the negotiated sum of stable coins into the new project’s wallet before 28th of February 2021? would not resolve to true because technically this is only possible when the tokens have been redeemed. I believe that it will require structuring the conditions in a way which is far more programmatic than natural language. Something that would look for a specific amount of conditional tokens, from a specific wallet address and sent to a specific wallet address before a specific time.