---
title: "ERC-20: O que É e Como Funciona | Ethereum IA"
url: "https://ethereum.ia.br/glossario/erc-20/"
markdown_url: "https://ethereum.ia.br/glossario/erc-20.MD"
description: "Entenda o padrão ERC-20 no Ethereum, como funcionam os tokens fungíveis, suas funções técnicas e por que ele é tão relevante."
date: "2026-02-10"
author: "Equipe Ethereum IA"
---

# ERC-20: O que É e Como Funciona | Ethereum IA

Entenda o padrão ERC-20 no Ethereum, como funcionam os tokens fungíveis, suas funções técnicas e por que ele é tão relevante.


## O que é ERC-20?

ERC-20 é o padrão técnico mais utilizado para a criação de tokens fungíveis na blockchain do Ethereum. A sigla "ERC" significa Ethereum Request for Comments, um processo formal pelo qual a comunidade Ethereum propõe melhorias e padrões técnicos. O número "20" refere-se ao identificador da proposta original, submetida por Fabian Vogelsteller e Vitalik Buterin em novembro de 2015. Esse padrão define um conjunto de regras e interfaces que todos os tokens compatíveis devem implementar, garantindo interoperabilidade entre carteiras, exchanges, contratos inteligentes e aplicações descentralizadas.

A palavra "fungível" é essencial para entender o ERC-20. Um token fungível é aquele em que cada unidade é idêntica e intercambiável com qualquer outra unidade do mesmo tipo — da mesma forma que uma nota de R$ 50 tem o mesmo valor que qualquer outra nota de R$ 50. Isso diferencia o ERC-20 do padrão ERC-721, usado para tokens não fungíveis (NFTs), onde cada unidade é única.

## Como funciona o padrão ERC-20

O ERC-20 específica uma interface de contrato inteligente em Solidity que define seis funções obrigatórias e dois eventos que todo token deve implementar:

**Funções obrigatórias:**

- **totalSupply()**: retorna a quantidade total de tokens existentes. Esse valor pode ser fixo (definido na criação) ou variável (se o contrato permitir emissão ou queima de tokens)
- **balanceOf(address)**: retorna o saldo de tokens de um endereço específico. É a função consultada quando você abre sua carteira e vê a quantidade de determinado token
- **transfer(address, uint256)**: permite que o detentor dos tokens envie uma quantidade específica para outro endereço. É a função mais básica de movimentação de valor
- **transferFrom(address, address, uint256)**: permite que um endereço autorizado transfira tokens em nome do proprietário. Essa função é fundamental para o funcionamento de DEXs e protocolos DeFi
- **approve(address, uint256)**: autoriza um endereço (geralmente um contrato inteligente) a gastar até uma quantidade definida de tokens em nome do proprietário
- **allowance(address, address)**: consulta quanto um endereço autorizado ainda pode gastar em nome do proprietário

**Eventos obrigatórios:**

- **Transfer**: emitido sempre que tokens são transferidos, incluindo criação (mint) e destruição (burn)
- **Approval**: emitido quando um endereço recebe autorização para gastar tokens

Essa padronização aparentemente simples foi revolucionária. Antes do ERC-20, cada projeto criava sua própria implementação de token com funções, nomes e comportamentos diferentes, tornando impossível a interação automatizada entre diferentes tokens e aplicações.

## Por que o ERC-20 é tão importante

A importância do ERC-20 vai muito além de uma especificação técnica. Ele criou as bases para todo o ecossistema de finanças descentralizadas (DeFi) e da economia de tokens no Ethereum. Com o padrão, qualquer token ERC-20 funciona automaticamente com:

- **Carteiras**: MetaMask, Trust Wallet, Rabby, Rainbow e qualquer carteira compatível com Ethereum podem exibir e transacionar tokens ERC-20 sem configuração especial
- **Exchanges descentralizadas (DEXs)**: Uniswap, Curve, SushiSwap e outras DEXs podem listar e negociar qualquer token ERC-20 automaticamente, sem necessidade de integração individual
- **Protocolos DeFi**: Aave, Compound, MakerDAO e outros protocolos de empréstimo e rendimento operam com qualquer token ERC-20
- **Ferramentas de análise**: Etherscan, Dune Analytics e outras plataformas podem rastrear e exibir dados de qualquer token ERC-20
- **Exchanges centralizadas**: a padronização facilita a listagem de novos tokens em exchanges como Binance e Coinbase

Essa composabilidade — a capacidade de diferentes protocolos se integrarem como peças de Lego — é frequentemente citada como uma das maiores forças do ecossistema Ethereum, e o ERC-20 é o alicerce dessa composabilidade.

## Exemplos de tokens ERC-20

O padrão ERC-20 abrange uma enorme variedade de casos de uso:

**Stablecoins**: USDT (Tether), USDC (Circle) e DAI (MakerDAO) são tokens ERC-20 pareados ao dólar americano. São amplamente utilizados por brasileiros como forma de proteção cambial e para transações internacionais. Juntas, essas stablecoins representam centenas de bilhões de dólares em valor de mercado.

**Tokens de governança**: UNI (Uniswap), AAVE (Aave), COMP (Compound) e MKR (MakerDAO) conferem poder de voto nas decisões dos respectivos protocolos.

**Tokens de utilidade**: LINK (Chainlink) é usado para pagar serviços de oráculos descentralizados. GRT (The Graph) é utilizado para consultas de dados indexados em blockchains.

**Wrapped tokens**: WETH (Wrapped Ether) é uma versão ERC-20 do próprio ETH, necessária porque o Ether nativo foi criado antes do padrão ERC-20 e não é nativamente compatível com ele. WBTC (Wrapped Bitcoin) representa Bitcoin na rede Ethereum.

**Memecoins**: SHIB (Shiba Inu) e PEPE são memecoins que, apesar de seu caráter especulativo, são tecnicamente tokens ERC-20 totalmente funcionais.

## Contexto histórico

A proposta do ERC-20 foi formalizada em novembro de 2015, mas só se tornou um padrão amplamente adotado em 2017, durante o boom das ICOs (Initial Coin Offerings). Naquele período, centenas de projetos lançaram tokens ERC-20 para captar investimentos, levantando bilhões de dólares. A facilidade de criar um token ERC-20 foi um dos fatores que alimentou essa onda — e também seus abusos, com projetos fraudulentos que captaram fundos e desapareceram.

O padrão foi oficialmente finalizado como EIP-20 (Ethereum Improvement Proposal 20) e permanece essencialmente inalterado desde então, uma prova de sua robustez de design. Variações posteriores, como o ERC-777, tentaram corrigir limitações do ERC-20 (como o problema do approve/transferFrom, que pode levar à perda de tokens se enviados diretamente a contratos não preparados), mas nenhuma alcançou a mesma adoção.

## Criando um token ERC-20

Tecnicamente, qualquer desenvolvedor com conhecimento básico de Solidity pode criar um token ERC-20 com poucas dezenas de linhas de código. Bibliotecas como a OpenZeppelin fornecem implementações auditadas e prontas para uso, reduzindo o código necessário a poucas linhas de configuração.

Essa acessibilidade é uma faca de dois gumes. Por um lado, democratiza a criação de ativos digitais, permitindo que qualquer projeto lance seu token. Por outro, facilita a criação de tokens fraudulentos, rug pulls (quando desenvolvedores abandonam o projeto após captar recursos) e esquemas de pump-and-dump.

Para brasileiros interessados em desenvolvimento, a documentação da OpenZeppelin e os tutoriais da Ethereum Foundation são pontos de partida recomendados, ambos gratuitos e disponíveis em inglês.

## Limitações conhecidas do ERC-20

Apesar de sua importância histórica, o ERC-20 possui limitações técnicas conhecidas:

- **Problema do double-approve**: ao alterar o valor de uma aprovação existente, existe uma condição de corrida que pode permitir ao spender gastar mais do que o pretendido. A solução recomendada é zerar a aprovação antes de definir um novo valor
- **Tokens perdidos em contratos**: se um usuário enviar tokens ERC-20 diretamente para um contrato que não foi programado para lidar com eles, os tokens ficam permanentemente travados. Estima-se que milhões de dólares em tokens foram perdidos dessa forma
- **Ausência de callback**: diferente do ERC-721, o ERC-20 não possui mecanismo nativo para notificar contratos sobre recebimento de tokens

O padrão ERC-223 foi proposto para resolver o problema de tokens perdidos em contratos, e o ERC-777 adicionou funcionalidades como callbacks e operadores. No entanto, o ERC-20 continua dominante pela inércia de sua adoção massiva e pela vasta infraestrutura já construída ao seu redor.

## Relevância para brasileiros

Para o público brasileiro, tokens ERC-20 são a porta de entrada mais comum no ecossistema Ethereum. Stablecoins como USDT e USDC são amplamente utilizadas para remessas internacionais, proteção contra a desvalorização do real e acesso a serviços financeiros descentralizados.

Ao adquirir tokens ERC-20 em exchanges brasileiras, é importante verificar em qual rede o token está sendo transferido. O mesmo token (por exemplo, USDT) pode existir em múltiplas redes (Ethereum, Arbitrum, Polygon, Tron), e enviar para a rede errada pode resultar em perda dos fundos. Sempre confirme a rede de destino antes de realizar saques.

## Termos relacionados

- **ERC-721**: padrão para tokens não fungíveis (NFTs)
- **ERC-1155**: padrão multi-token que combina características do ERC-20 e ERC-721
- **Solidity**: linguagem de programação usada para criar contratos ERC-20
- **Smart contract**: contrato inteligente que implementa as funções do padrão
- **DeFi**: ecossistema de finanças descentralizadas construído sobre tokens ERC-20
- **DEX**: exchanges descentralizadas que negociam tokens ERC-20

---

**Aviso importante**: este conteúdo tem caráter exclusivamente educacional e informativo. A existência de um token no padrão ERC-20 não garante sua legitimidade ou valor. Muitos tokens são criados com fins fraudulentos. Não constitui recomendação de investimento. Faça sua própria pesquisa antes de adquirir qualquer token.
