> For the complete documentation index, see [llms.txt](https://docs.cryptodo.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cryptodo.app/how-to-use-cryptodo/how-to-create-a-smart-contract-erc-20.md).

# How to create a smart contract (ERC-20)

{% embed url="<https://www.youtube.com/watch?v=mLnMLhzB6ko>" %}

## You have chosen the type of smart contract (ERC-20)

<div align="left"><figure><img src="/files/cKKtSH7BCiffg6G8Q6bo" alt=""><figcaption></figcaption></figure></div>

1. In the field "Name of the token" you must enter the name of the token in Latin letters. It can be anything, even existing ones.

   <div align="left"><figure><img src="/files/fGMW5Z4MpIimdK4GIRAs" alt=""><figcaption></figcaption></figure></div>
2. In the "Symbol" field, you must enter the symbol of the token in Latin letters, which must consist of at least 3 letters/symbols.

   <div align="left"><figure><img src="/files/cUH97qqRTQKEudsaCOMw" alt=""><figcaption></figcaption></figure></div>
3. In the "Initial supply" field, you must enter the number (integer) of tokens that will be issued.

   <div align="left"><figure><img src="/files/COO1Myg131NPzwvC6ZKM" alt=""><figcaption></figcaption></figure></div>
4. In the "Decimal numbers" field, you must enter the number of decimal places for your token.

   <div align="left"><figure><img src="/files/yewWrRCMR26O0Gd0NhzZ" alt=""><figcaption></figcaption></figure></div>
5. In the "Owner" field, the connected wallet is set by default, but it can be changed.

   <div align="left"><figure><img src="/files/HF8vIkTOaflRxosaPFqK" alt=""><figcaption></figcaption></figure></div>
6. In the "Additional crontract functions" section, you can add additional functionality to the smart contract.

   <div align="left"><figure><img src="/files/480Fp90LT4q3KPsGZfOK" alt=""><figcaption></figcaption></figure></div>

Additional crontract functions:

* Mintable - release of new tokens in a smart contract.
* Pausable - a function for the owner that allows you to stop all transactions in the smart contract.
* Blacklist - a function for the owner, which allows you to prohibit any address from conducting transactions in a smart contract.
* Burnable - a function that makes it possible to destroy tokens.
* Burn fee - a function that allows you to burn a set percentage of tokens from each transaction.
* Dev/marketing fee - a function that allows you to set a commission from each transaction and send it to the specified address.
* Liquidity fee - a function that allows you to replenish the liquidity pool of the token by a certain percentage from each transaction.

&#x20; 7\.  After creating a token, it becomes possible to deploy a smart contract to the Testnet test network for free or to the main Mainnet network by paying a service fee.                    &#x20;

<div align="left"><figure><img src="/files/VAvUlcceg9L9BOGW5Bwv" alt=""><figcaption></figcaption></figure></div>
