> 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>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.cryptodo.app/how-to-use-cryptodo/how-to-create-a-smart-contract-erc-20.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
