Id like to know how far off base I am in my understanding of smart contract functionality as well as how it all goes down.
Suppose we already use a process similar to below:
- Ms Customer calls and we give her a formal estimate of the anticipated total cost of her requested service. She agrees to that contract by placing a deposit proportional to her estimate total. That deposit is now held in an escrow function only to be unlocked by a payment code sent to Ms Customer. Upon completion of agreed-upon services, she gives us the secret payment code. When we input that code into our contract portal, the funds are released from that escrow account and then into ours.
There are lead providers that currently operate with similar processes. The main differences I see with this process are the smart contracts functioning as escrow agents, as well as generating random payment codes… Which is awesome if they can.
Can a Cardano contract be coded to serve as an “escrow agent” in a process such as this?
Can these contracts issue random payment codes autonomously and reliably?
Would the customer (paying in fiat) effectively be buying the contract based on its value in ADA?
What are anticipated fees of such transactions if we assume the value of those deposits is typically around $500-$5000?
Can a contract be amendable?
For instance, we get there and she now lives in a 3 story mansion instead of a studio. At that point, we would need to revise her estimate to reflect the increase in the price of her total estimate. Or, suppose we had agreed 3 employees were supposed to be there, but only two did… We would need to give her a discount.
Can the contract issue payments to multiple wallets in predetermined proportions upon fulfilment? Taking this a step further, can the contract facilitate a purchase of a blockchain asset, and then redistribute shares of that purchase to a list of recipients?
In all of this, assume Ms Customer is in agreement with any necessary changes to the contract, just to keep it simple.