# Smart Contracts

In very simple terms, a smart contract is a contract that is written in computer code and stored on a blockchain. When the conditions of the contract are met, the contract automatically executes the terms of the contract. This means that there is no need for a third party, such as a bank, to act as an intermediary to make sure that the contract is executed. They are usually automated so that all participants can be sure of the outcome of the contract.

{% tabs %}
{% tab title="Benefits of Smart Contracts" %}
\- The code cannot be changed once it has been deployed (tamperproof)

\- All parties can see the code and the transactions that have been executed (transparent)

\- No third party is needed to oversee the execution of the contract (trustless)

\- Transactions can be executed quickly and automatically (fast)
{% endtab %}

{% tab title="Downsides of Smart Contracts" %}
\- Once a transaction has been executed, it cannot be undone (irreversible)

\- The code can be difficult to understand and debug (complex)

\- Transactions can be publicly visible on the blockchain (public)
{% endtab %}
{% endtabs %}

Since deploying a contract is a transaction "Gas Fees" are required to pay, meaning the deployer will need enough Ether in their wallet to deploy. The Gas cost for deploying a contract is far higher than a normal ETH transfer.

{% hint style="info" %}
For example, Smart contracts are used by NFT projects to automate the minting, sale, and transfer of ownership of NFTs.
{% endhint %}
