# How to Create an ERC-20 Token

**URL:** <https://forum.openzeppelin.com/t/how-to-create-an-erc-20-token/43976>\
**Category:** Smart Contracts\
**Tags:** erc20, etherscan-verify\
**Created:** [April 30, 2025, 9:41am UTC](https://forum.openzeppelin.com/t/how-to-create-an-erc-20-token/43976 "2025-04-30T09:41:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![lara\_vinson](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/lara_vinson/32/22634_2.png) [@lara\_vinson](https://forum.openzeppelin.com/u/lara_vinson)\
**Post date:** [April 30, 2025, 9:41am UTC](https://forum.openzeppelin.com/t/how-to-create-an-erc-20-token/43976/1 "2025-04-30T09:41:08Z")

</div>

### What is an ERC-20 Token?

An **ERC-20 token** is a type of cryptocurrency built on the **Ethereum blockchain** that follows a standard interface. This standard, defined in EIP-20, ensures compatibility with wallets, exchanges, and decentralized applications (dApps).

### Steps to Create an ERC-20 Token (Theoretical Overview)

#### 1. **Design the Token**

Decide on:

- **Name**
- **Symbol**
- **Decimals**
- **Total Supply**

#### 2. **Write the Smart Contract**

- Use the **Solidity** programming language.
- Follow the ERC-20 interface exactly.
- You can either write the functions from scratch or import a secure implementation from **OpenZeppelin** , a trusted open-source library.

#### 3. **Compile the Contract**

Use tools like **Remix (online IDE)**, **Hardhat** , or **Truffle** to compile the contract into bytecode and ABI (Application Binary Interface).

#### 4. **Deploy the Contract**

Deploy the contract to:

- **Ethereum Mainnet** (real tokens with value)
- Or a **Testnet** like Goerli or Sepolia for testing

Deployment requires paying gas fees using ETH.

#### 5. **Verify and Publish**

After deployment, verify the contract source code on **Etherscan**. This makes it transparent and trusted by others.

### What Happens After Deployment?

Once deployed:

- The smart contract controls the token.
- The deployer (you) usually receives the full initial supply.
- The token can be transferred, traded, or used in dApps.

Users can add the token to their **MetaMask wallet** using its contract address and details.

---

<div class="post-metadata">

**Author:** ![Pfed-prog](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/pfed-prog/32/22681_2.png) [@Pfed-prog](https://forum.openzeppelin.com/u/Pfed-prog)\
**Post date:** [May 7, 2025, 3:15am UTC](https://forum.openzeppelin.com/t/how-to-create-an-erc-20-token/43976/2 "2025-05-07T03:15:51Z")

</div>

Very cool guide, I am sometimes confused by different amount decimals in popular tokens such as Tether.

---

<div class="post-metadata">

**Author:** ![TradeMaster](https://avatars.discourse-cdn.com/v4/letter/t/838e76/32.png) [@TradeMaster](https://forum.openzeppelin.com/u/TradeMaster)\
**Post date:** [June 11, 2025, 5:59am UTC](https://forum.openzeppelin.com/t/how-to-create-an-erc-20-token/43976/3 "2025-06-11T05:59:43Z")

</div>

Hi, I'm impressed with the theoretical over view given here.  
I'm a trader.  
Can you create a smart contract for fungible erc20 for me?  
ping me @TraderRobb on TG pls.  
Appreciate your support in advance.  
I contacted few developers and got scammed multiple times.  
Thats the reason looking for your help.
