Attaching a Ricardian to a Smart contract

This page explains the process of using smart contracts and some best practices.

Protect yourself from liabilities

A lot of things can go wrong with a DeFi project. Stable coins can go off the peg, their backing changes, smart contracts get hacked, users send coins to the wrong address, there is impermanent loss. You as a smart contract issuer are responsible for letting your users know of these risks and you need to protect yourself from the consequences of these events.

With the correct terms you are able to do just that. You can explain that you don't have warranties and make sure you only allow users on your platform who accepted these terms.

Explain how the smart contract works

It's important to assume the users of your contracts and the holders of your tokens are not able to interpret smart contract code. The majority of the users don't understand solidity. Therefore it is a great practice to add how the smart contract works to the semantics, so your users understand what the function they are calling actually does.

You can use any network, it depends on how you configure your wallet.

You can find more information about the recommended networks in the Fundamentals.


Adding a smart contract

You have to add the address of the smart contract to the input field. The app will check if it's compatible when you deploy the agreement.

For creating custom smart contract, see the npm dependency "Simple terms" and it's explanation.

pageSimple terms

Deploy the agreement

After the smart contract has been deployed, you should do as you have already learned when creating your first agreement and click on create. You will be prompted by metamask to sign the agreement, just like before.

When prompted to deploy, click yes again and you will be prompted to call a function on the smart contract.

You can learn more about setTerms in the Simple terms fundamentals.


You have successfully deployed a Smart contract and a Ricardian contract and attached them together! In the next guide you will find out how to accept this and how the tokens are added to the wallet!

Last updated