ERC-20
Definição
ERC-20 (Ethereum Request for Comment 20) é o padrão de token mais importante na história das criptomoedas, definindo a interface comum que todos os tokens fungíveis no Ethereum devem implementar. Proposto por Fabian Vogelsteller e Vitalik Buterin em novembro de 2015 e finalizado como EIP-20, o ERC-20 estabeleceu seis funções obrigatórias (`transfer`, `transferFrom`, `approve`, `allowance`, `balanceOf`, `totalSupply`) e dois campos opcionais (`name`, `symbol`) que todos os tokens compatíveis devem expor. Essa padronização foi revolucionária: qualquer carteira, exchange, protocolo DeFi ou contrato inteligente que entenda a interface ERC-20 pode funcionar com qualquer token ERC-20 sem integração personalizada — possibilitando o ecossistema DeFi interoperável e componível. Todos os principais tokens — USDC, USDT, LINK, UNI, AAVE, DAI, SHIB e milhares de outros — são tokens ERC-20. O padrão desbloqueou o boom das ICOs em 2017, a explosão do DeFi em 2020 e continua sendo o fundamento primitivo de toda a economia de tokens Ethereum, com um volume cumulativo de transações ERC-20 superior a trilhões de dólares.
Origem e história
| Data | Evento |
| novembro 2015 | Fabian Vogelsteller propõe a EIP-20 no GitHub do Ethereum |
| setembro 2017 | O padrão ERC-20 foi formalmente estabelecido; o boom das ICOs o aproveita — US$ 5.6 bilhões arrecadados em 2017 por meio de tokens ERC-20. |
| 2018 | Praticamente todos os novos projetos de tokens são lançados como ERC-20; o ecossistema atinge mais de 100,000 tokens. |
| 2020 | Verão DeFi: Tokens ERC-20 impulsionam Uniswap, Compound, Aave e Yearn — mais de US$ 1 bilhão bloqueados |
| 2021 | As stablecoins (USDC, USDT, versão ERC-20) dominam; o volume de transferências em ERC-20 supera o de BTC. |
| 2022 | Capitalização de mercado dos tokens ERC-20 ultrapassa US$ 200 bilhões; volume de transferências diárias na casa das centenas de bilhões. |
| 2023 | O padrão ERC-20 continua dominante; mais de 500,000 contratos de tokens ERC-20 exclusivos foram implantados. |
“O ERC-20 é a especificação de código aberto mais bem-sucedida já criada. Ele permite que todos os tokens falem a mesma língua.”
Como Funciona
“Interface obrigatória ERC-20:
função totalSupply() → uint256 função balanceOf(address) → uint256 função transfer(address to, uint amount) → bool função transferFrom(address from, address to, uint amount) → bool função approve(address spender, uint amount) → bool função allowance(address owner, address spender) → uint256
Eventos: evento Transferência(endereço indexado de, endereço indexado de, valor uint256) evento Aprovação(endereço indexado de proprietário, endereço indexado de gastador, valor uint256)
Como funciona a transferência: Alice envia 100 USDC para Bob:
- Alice chama USDC.transfer(Bob, 100)
- Verificações de contrato: saldos[Alice] >= 100
- saldos[Alice] -= 100
- saldos[Bob] += 100
- emitir Transferir(Alice, Bob, 100)
Como funciona o approve/transferFrom (padrão DeFi):
- Alice chama USDC.approve(UniswapRouter, 1000)
- O UniswapRouter agora pode gastar até 1000 USDC em nome de Alice.
- O roteador chama USDC.transferFrom(Alice, Pool, 1000)
| função | Propósito | Quem liga para isso? |
| `totalSupply()` | Retorna a contagem total de tokens. | Qualquer pessoa (visualizar) |
| `balanceOf(addr)` | Saldo do endereço de devolução | Qualquer pessoa (visualizar) |
| `transferir(para, valor)` | Enviar tokens do chamador | detentor da ficha |
| `aprovar(gastador, valor)` | Autorizar gasto | detentor da ficha |
| `transferFrom(from, to, amt)` | Transferência em nome de | Gastador aprovado (DeFi) |
| `dispensa (proprietário, gastador)` | Verifique o valor aprovado | Qualquer pessoa (visualizar) |
Em termos simples
- Linguagem universal de tokensTodos os tokens ERC-20 utilizam a mesma interface — MetaMask, Uniswap, Aave e Coinbase funcionam com USDC, UNI, LINK e mais de 500,000 outros tokens porque todos seguem as mesmas regras.
- Saldos em um livro-razãoO contrato mantém um mapeamento de endereços para saldos — `transfer()` subtrai do remetente e adiciona ao destinatário, tudo dentro do livro-razão interno do contrato.
- Aprovação para DeFiA função `approve()` permite que os protocolos DeFi gastem tokens em seu nome — quando você "aprova" o Uniswap, você está dando permissão para que ele movimente seus USDC para uma troca.
- facilitador de ICOO padrão ERC-20 tornou a criação de tokens trivial — qualquer desenvolvedor podia lançar um token em poucas horas, impulsionando o boom das ICOs em 2017, quando milhares de projetos arrecadaram bilhões.
- O primitivo DeFiCompound, Aave, Uniswap e todos os protocolos DeFi são construídos em torno de tokens ERC-20. Remova o ERC-20 e todo o ecossistema DeFi entrará em colapso.
Exemplos do mundo real
| Cenário | Implementação | Resultado |
| Establecoin USDC | A Circle implementa um contrato ERC-20 USDC com lastro em USD na proporção de 1:1. | Mais de US$ 25 bilhões em circulação; aceito instantaneamente em todas as corretoras e protocolos DeFi. |
| Troca Uniswap | O usuário aprova o USDC e chama a troca → O roteador chama `transferFrom(user, pool)`. | Troca perfeita utilizando o padrão ERC-20 approve/transferFrom. |
| Empréstimo Aave | O usuário deposita USDC ERC-20 e recebe aUSDC ERC-20 representando o depósito. | Todos os mecanismos de empréstimo são baseados na composibilidade do ERC-20. |
| Captação de recursos da ICO | Projeto lança token ERC-20; investidores enviam ETH e recebem tokens. | 2017-2018: Mais de US$ 20 bilhões arrecadados por meio da venda de tokens ERC-20. |
Vantagens
| A Vantagem | Descrição |
| compatibilidade universal | Qualquer token ERC-20 funciona com qualquer carteira, exchange ou protocolo DeFi compatível. |
| Implementação simples | 150 linhas de Solidity para implantar um token totalmente funcional. |
| Composabilidade | Os tokens ERC-20 se integram aos protocolos DeFi, possibilitando a criação de "peças de Lego para dinheiro". |
| Efeitos de rede do ecossistema | Mais de 500,000 tokens; todas as ferramentas e interfaces são compatíveis com ERC-20. |
| Implementações de referência auditadas | O token ERC-20 da OpenZeppelin foi testado e aprovado, com um valor estimado em bilhões. |
Desvantagens e Riscos
| Desvantagem | Descrição |
| aprovar() risco de gasto duplo | Os usuários podem ser prejudicados ao alterar as permissões; são necessárias duas transações para redefinir com segurança. |
| Perda de tokens risco | O padrão ERC-20 não oferece proteção contra o envio de tokens para contratos que não podem recebê-los. |
| Potencial inflacionário | Não existe um mecanismo padrão de limite de oferta — projetos podem emitir tokens ilimitados se forem mal projetados. |
| Problema com o token de taxa | As transferências de tokens ERC-20 exigem ETH para cobrir as taxas — os tokens sozinhos não conseguem pagar suas próprias taxas. |
Dicas de gerenciamento de risco:
- Antes de aprovar Protocolos DeFiEntenda o que você está autorizando — aprovações ilimitadas garantem acesso perpétuo para gastar seus tokens.
- Utilize ferramentas como o Revoke.cash para revisar e revogar aprovações antigas de ERC-20, reduzindo assim a superfície de ataque.
- Verifique os endereços dos contratos de tokens em fontes oficiais — golpistas implantam tokens ERC-20 falsos com nomes semelhantes.
Perguntas frequentes
Qual a diferença entre ETH e tokens ERC-20?
ETH é a moeda nativa do Ethereum — não um token ERC-20. Tokens ERC-20 são criados por contratos inteligentes na rede Ethereum. Wrapped ETH (WETH) é uma versão ERC-20 do ETH que permite sua participação em protocolos DeFi que exigem conformidade com o padrão ERC-20.
Quantos tokens ERC-20 existem?
Em 2024, mais de 500,000 contratos de tokens ERC-20 exclusivos foram implantados na rede principal do Ethereum. A grande maioria tem valor de mercado insignificante; aproximadamente 1,000 a 5,000 possuem liquidez e uso significativos.
O que é uma aprovação ilimitada no ERC-20?
Chamar `approve(dex, type(uint256).max)` concede à DEX permissão para gastar todo o seu saldo de tokens indefinidamente. Isso é comum por conveniência, mas cria riscos — se o protocolo for invadido, todos os tokens aprovados podem ser roubados.
Os tokens ERC-20 podem ser cunhados ou queimados?
O próprio padrão ERC-20 não especifica a cunhagem ou a queima — é opcional. Os projetos implementam a cunhagem (aumentando o `totalSupply`) e a queima (reduzindo-o) de acordo com o design de sua tokenomics.
Por que o padrão ERC-20 foi revolucionário?
Antes do ERC-20, cada token tinha uma interface personalizada — as corretoras e carteiras exigiam integração específica para cada token. O ERC-20 criou uma linguagem universal: desenvolva uma única vez para o ERC-20 e você terá suporte para todos os tokens instantaneamente.
Dica da UPay: Antes de interagir com qualquer protocolo DeFi que utilize tokens ERC-20, use o Etherscan para verificar o endereço do contrato do token e confirmar se ele corresponde ao endereço oficial do projeto — golpistas criam tokens com nomes e símbolos idênticos para roubar aprovações de usuários desatentos.
Aviso: Este conteúdo tem fins meramente educativos e não constitui aconselhamento financeiro ou de investimento. Sempre realize sua própria pesquisa antes de tomar qualquer decisão financeira.
UPay — Tornando as criptomoedas uma enciclopédia









