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

{% embed url="<https://www.youtube.com/watch?ab_channel=CryptoDo&v=TjC1LRZtoyM>" %}

## You have selected a smart contract type (ERC-721)

<figure><img src="/files/1GjWWSeUftuF3o3HUGcb" alt=""><figcaption></figcaption></figure>

1. In the "Contract Names" field, you must enter the name of the contract <mark style="color:red;">(The name of the contract must be in English!)</mark> The name of the contract can be anything and will not conflict with the same names of the token.

   <div align="left"><figure><img src="/files/rAt0zNH8qHDbSwmNrQXf" alt=""><figcaption></figcaption></figure></div>
2. In the "Total supply" field, you must enter the maximum amount of NFT that can be exchanged through your contract.&#x20;

   <div align="left"><figure><img src="/files/XmCOc1EYKdpQRtAuu62H" alt=""><figcaption></figcaption></figure></div>
3. In the "Token Name" field, you must come up with a name for the token you are creating <mark style="color:red;">(The token name must be in English!)</mark>.&#x20;

   <div align="left"><figure><img src="/files/ybAs0dlUEfkuGpJZErgJ" alt=""><figcaption></figcaption></figure></div>
4. In the "Symbol" field, you must enter the symbol of the token <mark style="color:red;">(The symbol of the token must be in English and consist of at least 3 letters/symbols !)</mark>. "Symbol" is an abbreviation (short for "Token Name").&#x20;

   <div align="left"><figure><img src="/files/LbqY6pWw0mrqXzdNGMbO" alt=""><figcaption></figcaption></figure></div>
5. In the "Token per transaction" field, you must enter the maximum number of tokens available for purchase in 1 mint transaction.&#x20;

   <div align="left"><figure><img src="/files/AjrHsWQ7QacmrR2HWEyc" alt=""><figcaption></figcaption></figure></div>
6. In the "Number of tokens per wallet" field, you must enter the maximum number of tokens available for purchase per 1 address.

   <div align="left"><figure><img src="/files/FT8JwBUotGqkCehBo0eO" alt=""><figcaption></figcaption></figure></div>
7. In the "Price" field you must enter the price <mark style="color:red;">(A number must be entered in the field)</mark>. You set the price of the token for 1 BNB.  &#x20;

   <div align="left"><figure><img src="/files/hz2kOQ9H7daQP3KHTBCN" alt=""><figcaption></figcaption></figure></div>
8. In the "Time for reveal" field, you must select a date for the revision of your collection.

   <div align="left"><figure><img src="/files/aVSP6KA6OLh8kAyuOzB7" alt=""><figcaption></figcaption></figure></div>
9. In the "Base URI" field you must enter the base file path (meta data) for your NFT (where your NFT files/images are stored).

   <div align="left"><figure><img src="/files/9s2l5VH9RxhYkquT7ywI" alt=""><figcaption></figcaption></figure></div>
10. In the field "Founder address" you must enter (insert address) for the withdrawal of profit.

    <div align="left"><figure><img src="/files/banW1WcaQyTpcYP0Ah7W" alt=""><figcaption></figcaption></figure></div>
11. In the "Owner Address" field, you must enter or leave your wallet address as standard.

    <div align="left"><figure><img src="/files/Ls0MyMB9UfgbA9XVkQSL" alt=""><figcaption></figcaption></figure></div>
12. Additional functions of the contract:
    * Additional emission - this feature allows you to increase the total supply (total number of tokens) in your NFT collection after deploying a smart contract to the blockchain.
    * Presale - this feature allows you to create a list of wallets (White List) that will have access to an early purchase of your NFT collection / NFT tokens at a certain price.

      <div align="left"><figure><img src="/files/SCgPxR6jlXNlR3LE9uN7" alt=""><figcaption></figcaption></figure></div>
13. You have the choice to run your smart contract on the "Testnet" test network (free of charge) to check its performance, or on the "Mainnet" for CDO to the Internet, a ready-made version of the smart contract.

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


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
