An ERC20 token development company designs, writes, tests and deploys the smart contract behind a fungible Ethereum token, and often handles the launch around it. This guide explains what such a firm delivers, how to create an ERC-20 token step by step, which design choices matter, and what the work costs.
Writing the token contract takes days, while most of the work lies in the design, the security review, the token distribution and the legal position.
Start with the purpose of the token
Before you choose a standard, write one sentence that says what the token does that a database entry or an existing currency cannot do. Clear answers include these:
- The token is a share in a pooled vault.
- Users need the token to use a protocol.
- Holders vote on how a treasury is spent.
- The token is a transferable claim on a real asset.
- The token is a collectible whose ownership must move between apps.
Answers such as "to raise money" or "every project has one" often lead to tokens that nobody needs after launch, and in many countries those tokens also face securities rules.
Ethereum token standards compared
Ethereum token standards are written as Ethereum Improvement Proposals (EIPs). A token that follows its standard exactly works in MetaMask, on Uniswap and in custody systems without custom code, and the fungible token standard is EIP-20.
| Standard | What it represents | Typical uses | Notes |
|---|---|---|---|
| ERC-20 | Interchangeable units with balances | Utility, governance, stablecoins, reward points | Widest support. Add ERC-2612 permit so users can approve with a signature instead of a paid transaction. |
| ERC-721 | Unique items, one owner each | Art, collectibles, membership passes, deeds | Each token points to metadata through tokenURI. Media files usually live off the chain. |
| ERC-1155 | Many token types in one contract, fungible or unique | Game items, editions, ticket tiers | Batch transfers save gas. Marketplace support is good but not as wide as for ERC-721. |
| ERC-4626 | Shares in a yield-bearing vault | Lending deposits, staking vaults, yield strategies | Sets one interface for deposits, withdrawals and share math. An empty vault can face an inflation attack, so the first deposit needs protection. |
| ERC-2981 | Royalty data for NFTs | Creator royalties | States the royalty amount. Each marketplace decides whether to pay it. |
| ERC-3643 and similar permissioned standards | Tokens that only verified identities can hold | Security tokens, regulated real-world assets | Each transfer checks an on-chain identity registry and compliance rules. |
Some vendors still offer ERC-223 or ERC-777 as upgrades to ERC-20, but ERC-223 never gained broad support. ERC-777 hooks allowed reentrancy attacks that led to real losses, and OpenZeppelin removed its ERC-777 code in Contracts 5.0. New projects use ERC-20 with ERC-2612.
For NFTs, the guide to NFT token development covers metadata, minting and marketplaces.
What an ERC20 token development company delivers
A full engagement with a token development firm usually includes these deliverables:
| Deliverable | What you should receive |
|---|---|
| Specification | A written document with the standard, supply, roles, admin powers, upgrade policy, vesting and distribution |
| Contract code | Solidity code built on audited libraries, in a repository you own |
| Test suite | Unit, fuzz and invariant tests, with a coverage report |
| Deployment scripts | Scripts for testnet and mainnet, plus source verification on a block explorer |
| Distribution contracts | Vesting, airdrop claim and, if needed, governance contracts |
| Audit support | Coordination with an independent auditor and fixes for the findings |
| Handover | Admin roles moved to your multisig, documentation and a plan for incidents |
Some firms also offer token sale pages, wallet integration, DEX liquidity setup and listing applications. Those services are separate from the contract work, so ask for a separate price for each.
How to evaluate an ERC-20 development firm
- Ask for deployed and verified token contracts from past projects, and read their test suites.
- Ask which library they build on; OpenZeppelin Contracts is the common choice for ERC-20.
- Ask who holds the admin keys after launch. The answer should be your multisig, not the firm.
- Ask whether an independent auditor reviews the code, because a firm that audits its own code gives no outside check.
- Check that you own the repository and the deployment keys.
- Avoid firms that promise exchange listings, price targets or returns.
The Solidity developer guide lists more technical questions for a candidate or a firm.
Design decisions in ERC20 token development
Supply model
A fixed supply, minted once at deployment, is the simplest model and the easiest for holders to trust. A mintable token must state who can mint, within which limits and under which oversight. Many teams set a hard cap in the code and give the minter role to a vesting or emissions contract instead of a person.
Decimals
Most ERC-20 tokens use 18 decimals, and most tools assume that value, but some stablecoins, such as USDC, use 6 decimals. Every integrator must handle your decimal count correctly, and wrong decimal handling has caused pricing bugs in DeFi.
Admin powers
Each admin function, such as mint, pause, blocklist or upgrade, adds a risk. Use role-based access control instead of a single owner, put the roles behind a multisig, and add a timelock so holders can see a change before it takes effect. If the token should run without an operator, renounce the unneeded roles after launch.
Pausing and blocklists
Regulated stablecoins and security tokens usually need the power to freeze addresses, while community tokens usually leave it out. Document the choice, because experienced holders check the contract for these powers.
Upgradeability
A proxy contract (transparent or UUPS) lets the team fix bugs after launch, but it also lets the administrators change the rules. Many simple ERC-20 tokens use an immutable contract built on audited libraries, while complex or regulated tokens often use a proxy with a timelock and a multisig.
Features to avoid
- Transfer taxes and reflection rewards. These features break many DeFi integrations and complicate accounting, and many scam tokens use them.
- Hidden owner powers, or functions that can change balances.
- Standard logic rewritten from scratch instead of audited code such as OpenZeppelin Contracts.
Tokenomics and distribution
The distribution plan decides whether holders trust the token. Write down the allocations for the team, investors, community, treasury and liquidity, and enforce vesting with contracts, not with promises. State what creates demand for the token after launch. Common mechanisms:
- Vesting contracts release team and investor tokens in steps after a cliff.
- Merkle airdrops store one root hash of all eligible addresses on the chain. Each user claims with a proof, which costs far less than sending tokens to every address.
- DEX liquidity gives the token a market, with the LP tokens locked or held by a public treasury.
- Governance uses the ERC-20 votes extension and a governor contract if holders will vote on settings.
For a token at the center of a DeFi protocol, see the guide to DeFi token development.
Ethereum mainnet or layer 2
Ethereum mainnet has the deepest liquidity and the strongest security, but every transfer pays mainnet gas. Layer 2 rollups such as Arbitrum, Optimism, Base and ZKsync Era settle to Ethereum and make transfers much cheaper, which matters for tokens used in frequent, small payments.
Many projects deploy the token on mainnet and use the official bridge of each layer 2 to bring the token there, while others launch on one layer 2 only. Do not deploy separate copies of the token on several chains without a bridge design, because each copy then has its own supply. The guide to layer 2 and interoperability covers the options.
How to create an ERC-20 token step by step
- Write the specification. Record the standard, supply, roles, admin powers, upgrade policy, vesting and distribution, because the auditor checks the code against this document.
- Write the contract. Build on audited libraries, pin the compiler version and keep custom logic small.
- Test the contract. Write unit tests for every function and role, and fuzz tests for transfers and approvals. Add invariant tests, such as "total supply always equals the sum of balances" and "supply never passes the cap".
- Deploy to a testnet. Use Sepolia or the testnet of your layer 2, run the full launch, including vesting and airdrop claims, and invite others to attack it.
- Get an audit. A standard token still gains from an outside review of its settings and admin powers, and custom logic needs a full audit. See smart contract audits.
- Deploy to mainnet. Deploy from a hardware wallet or a secure machine, verify the source on a block explorer and move the roles to the multisig at once.
- Run the token after launch. Publish the contract addresses in one official place, and submit token data to wallets and explorers. Monitor the admin functions and keep an incident plan.
Ethereum token development cost and timeline
The table gives estimates under stated assumptions, not quotes.
| Scope | Assumed team | Typical timeline |
|---|---|---|
| Standard ERC-20 from audited libraries, fixed supply, multisig owner | One experienced Solidity developer, light review | One to two weeks, including tests and deployment |
| ERC-20 with vesting, airdrop claims and governance votes | One or two developers plus an external audit | Four to eight weeks |
| Permissioned security token with identity registry and compliance rules | Smart contract, back-end and compliance engineers, plus lawyers | Several months |
Audit fees grow with the size and complexity of the code, so less custom code means a smaller audit bill. Deployment gas depends on network demand, and on a layer 2 it is small next to the other costs.
Legal and regulatory rules
Under the law, the way a team markets and sells a token matters as much as the code. In the United States, the SEC and the courts apply securities tests to token sales. Payment stablecoins have their own federal framework under the GENIUS Act, signed in July 2025.
In the European Union, the Markets in Crypto-Assets Regulation (MiCA) has applied in full since December 2024. It sets rules for issuers and service providers, with separate rules for asset-referenced tokens and e-money tokens. Many public token offers need a MiCA white paper.
Tokens that represent shares, debt or fund interests are securities in most countries and fall under securities law. The guide to security token offerings covers that route. Build KYC checks, sanctions screening and country restrictions into the sale process from the start.
Common failure modes
- One wallet key holds the mint or upgrade rights, and an attacker steals the key.
- Liquidity is thin, so a small sale crashes the price and the project spends its treasury to support it.
- A document promises vesting but no contract enforces it, and holders lose trust.
- Fee-on-transfer logic breaks DEX and lending integrations.
- The team launches the token on several chains with separate supplies and no way to reconcile them.
For fungible tokens on BNB Smart Chain, compare BEP-20 token development. A token with a stable value has its own design problems, such as reserves, redemption and attestations, which the stablecoin development guide covers.
Frequently asked questions
How much does it cost to deploy an ERC-20 token?
The deployment transaction costs gas, which changes with network demand and is much cheaper on a layer 2 than on mainnet. Development, testing, audit and legal work cost far more than the deployment fee.
Can I create an ERC-20 token without writing code?
Token generator tools can produce standard contracts, and they work for experiments. For a token that holds real value, you still need to know which admin powers the generated contract has and who controls them.
Can I change my token after deployment?
Only if the token sits behind an upgradeable proxy or has settings that admin roles control. Nobody can change an immutable token, so the team would deploy a new token and move the holders to it.
What is the difference between ERC-20 and ERC-1155?
Each ERC-20 contract manages one fungible token, while one ERC-1155 contract manages many token IDs, and each ID can be fungible or unique. ERC-20 suits a single currency-like token, and ERC-1155 suits a collection of items.
How do I get my token listed on exchanges?
Anyone can create a liquidity pool on a decentralized exchange, but centralized exchanges run their own review and listing process, including a legal review. Be careful with any service that promises a listing in return for a fee. The crypto exchange listing guide explains the process.
Does a simple ERC-20 token need an audit?
If the token uses audited library code without changes and has few admin powers, a careful review of its settings may be enough. Custom logic, vesting, staking or fee rules need an audit before mainnet.