O que é ERC-20? É o padrão de token que impulsiona a economia do Ethereum.

O que é ERC-20? É o padrão de token que impulsiona a economia do Ethereum.

Tenho USDT na minha carteira MetaMask. Também tenho alguns LINK, um pouco de UNI de uma troca da semana passada e um token de cachorro que alguém me deu de airdrop e que sempre esqueço de vender. Esses tokens fazem coisas completamente diferentes. Tether é uma stablecoin lastreada em dinheiro e títulos do tesouro. Chainlink opera redes de oráculos que alimentam contratos inteligentes com dados do mundo real. Uniswap administra a maior DEX do Ethereum. O token de cachorro não faz nada de útil. Mas minha carteira exibe todos eles na mesma lista, me permite enviá-los com o mesmo botão e todos os protocolos DeFi que uso os aceitam sem nenhuma configuração especial.

Isso só funciona porque os quatro seguem as mesmas regras. São tokens ERC-20. Mesma interface, mesmas funções, mesma estratégia. E entender o que ERC-20 realmente significa é o primeiro passo para entender como o Ethereum funciona como economia.

Fabian Vogelsteller escreveu a proposta em novembro de 2015. Deu-lhe um nome pouco inspirador: Ethereum Request for Comment número 20. Vitalik Buterin foi coautor da versão final. Em 2017, foi formalmente adotada e, então, o boom das ICOs explodiu. Milhares de projetos lançaram tokens da noite para o dia porque o ERC-20 tornou o processo praticamente gratuito. Meio milhão de contratos de tokens depois, o padrão ainda domina o mercado. Eis o que ele faz e por que você deveria se importar com ele, mesmo que nunca pretenda escrever uma linha de código em Solidity.

Como funciona o padrão ERC-20

O nome é mais nerd do que deveria ser. ERC = Ethereum Request for Comment (Solicitação de Comentários do Ethereum). 20 = o número da proposta. Só isso. Um desenvolvedor chamado Fabian disse "aqui estão as regras que todo token deve seguir" e deu à sua proposta o número 20 porque era o próximo número disponível. Não vinte regras. Não vinte tokens. Apenas a proposta nº 20 na fila de melhorias do Ethereum.

O que essas regras dizem: se você quiser criar um token fungível no Ethereum, seu contrato inteligente precisa incluir essas funções específicas. "Fungível" significa que cada unidade do token é idêntica. Um USDC é igual a qualquer outro USDC. Você não precisa se preocupar com qual token UNI específico você possui, porque todos são intercambiáveis. Os NFTs são o oposto. Cada um é único. Padrão diferente. Artigo diferente.

O padrão ERC-20 define seis funções e dois eventos. Todos os contratos de tokens compatíveis, desde o USDT com seu valor de mercado de US$ 140 bilhões até a memecoin lançada há trinta segundos, implementam essas mesmas chamadas:

Função Versão em inglês simples
oferta total() "Quantos desses tokens existem no mundo?"
saldoDe(endereço) "Quantos [número] esta carteira específica contém?"
transferir (para, valor) "Enviar X tokens da minha carteira para esta outra pessoa"
aprovar(gastador, valor) "Permita que este protocolo DeFi gaste até X dos meus tokens"
transferirDe(de, para, valor) "Tenho permissão para transferir tokens da carteira A para a carteira B"
mesada (proprietário, gastador) "Quanto desse valor ainda pode gastar da mesada?"

Dois eventos são registrados na blockchain sempre que algo acontece. O evento de transferência é acionado sempre que tokens são movidos entre carteiras. O evento de aprovação é acionado quando alguém concede permissão para gastar um token. Exploradores de blockchain como o Etherscan usam esses eventos para construir o histórico de transações que você vê ao pesquisar um token.

Três campos opcionais adicionam personalidade: o nome dá ao token um rótulo legível para humanos ("Chainlink"), o símbolo é o ticker ("LINK") e as casas decimais definem a granularidade da divisão do token (quase todos usam 18 para corresponder ao ETH, embora o USDT use 6 e isso tenha causado mais problemas do que qualquer um gostaria de admitir).

Seis funções. Dois eventos. Três campos opcionais. Essa é literalmente toda a especificação. Eu poderia imprimi-la em um guardanapo e ainda sobraria espaço para manchas de café. E, no entanto, essa especificação do tamanho de um guardanapo sustenta uma economia de tokens que vale centenas de bilhões de dólares. O MetaMask lê essas funções para mostrar seu saldo. O Uniswap as chama para executar swaps. O Aave as usa para gerenciar empréstimos. Todos os protocolos DeFi que você já usou se comunicam com tokens por meio dessa mesma interface. A simplicidade é o ponto principal.

erc-20

Por que o padrão ERC-20 mudou tudo no Ethereum?

Eu trabalhava com criptomoedas em 2016, antes desse padrão existir. Era um caos. Cada token era um projeto personalizado. Alguém criava um contrato de token com seus próprios nomes de função, sua própria lógica de transferência, sua própria maneira de verificar saldos. O MetaMask não tinha ideia do que metade desses tokens representava. As exchanges levavam meses para adicionar suporte a um novo token porque cada um exigia código de integração personalizado. Criar uma DEX? Esqueça. Você precisaria escrever handlers para cada implementação de token individual.

O ERC-20 acabou com essa loucura. Depois que o padrão foi adotado, um novo token aparecia no MetaMask no momento em que você colava o endereço do contrato. O Uniswap podia listá-lo sem a permissão de ninguém. O Aave podia aceitá-lo como garantia sem escrever uma única linha de código personalizado. Um padrão, compatibilidade universal.

A onda de ICOs de 2017 foi a prova disso. Um jovem qualquer em um quarto de república conseguia lançar um token ERC-20 depois do almoço, criar um site com um whitepaper e estar aceitando ETH de investidores à meia-noite. Eu vi tudo acontecer em tempo real. Projetos arrecadaram bilhões. Alguns eram legítimos e construíram produtos reais. A maioria era lixo. Alguns eram fraudes descaradas. Mas a tecnologia por trás disso? Funcionava perfeitamente. O padrão fazia exatamente o que deveria fazer: tornar a criação e a interação com tokens extremamente fáceis.

A escala atual é impressionante. Mais de 500.000 contratos de tokens ERC-20 estão ativos na rede Ethereum. O valor de mercado total dos tokens ERC-20 chega às centenas de bilhões. Só o USDT ultrapassou os US$ 140 bilhões. Adicione USDC, LINK, UNI, DAI, SHIB, MKR e os demais, e você verá que a maior parte de todo o valor econômico do Ethereum reside em contratos ERC-20.

Principais tokens ERC-20 Categoria Valor de mercado (aprox.)
USDT (Tether) Moeda estável US$ 140 bilhões ou mais
USDC (Círculo) Moeda estável Mais de 60 bilhões de dólares
LINK (Corrente) Rede Oracle Mais de US$ 8 bilhões
UNI (Uniswap) Governança DEX Mais de US$ 4 bilhões
DAI (Fabricante) Moeda estável descentralizada Mais de 5 bilhões de dólares
AAVE Protocolo de empréstimo Mais de 2 bilhões de dólares
SHIB (Shiba Inu) Memecoin Mais de 6 bilhões de dólares
MKR (Fabricante) Governança Mais de US$ 1,5 bilhão

Criar um token ERC-20: mais fácil do que você imagina

Certa vez, assisti a alguém implantar um token ERC-20 ao vivo em uma transmissão do YouTube. Levou 14 minutos, incluindo o tempo que ele gastou explicando o que estava fazendo para o chat.

Isso não é uma demonstração de quão inteligente o streamer era. É uma afirmação de como o OpenZeppelin tornou tudo fácil. O OpenZeppelin é uma biblioteca de código Solidity auditado e testado em batalha que faz todo o trabalho pesado. Você escolhe o nome do seu token ("MyToken"), seu símbolo ("MTK"), suas casas decimais (18, as mesmas do ETH) e seu fornecimento inicial. A biblioteca lida com as seis funções ERC-20, os eventos e as verificações de segurança. Você copia o modelo, altera quatro variáveis, implanta no Ethereum e pronto, você tem um token real.

Os custos de gás para implantação flutuam. Rede tranquila? Talvez US$ 20-50. Congestionamento máximo, como em um dia de lançamento de NFTs? US$ 200-500. Implante na Arbitrum ou na Base em vez da rede principal do Ethereum e o custo cai para alguns dólares. A barreira financeira é próxima de zero.

Eis o lado obscuro dessa acessibilidade. A blockchain Ethereum não verifica se um contrato de token é legítimo. Ela não verifica as equipes, audita o código ou avalia os modelos de negócios. Se você pode pagar a taxa de gás, pode implantar um token. É por isso que o Etherscan lista centenas de milhares de contratos de tokens, e a maioria deles são experimentos abandonados ou golpes ativos. O padrão ERC-20 garante compatibilidade. Ele não garante absolutamente nada sobre se o token vale a pena ser mantido.

ERC-20 versus outros padrões de tokens Ethereum

As pessoas me perguntam: "O ERC-20 é o único padrão de token?" Não. Nem de longe. Mas foi o primeiro que funcionou, e os outros que vieram depois resolveram problemas que o ERC-20 deixou sem solução.

O padrão ERC-721 chegou e nos trouxe os NFTs. Enquanto todos os tokens ERC-20 são intercambiáveis (seu USDC é o mesmo que o meu USDC), cada token ERC-721 possui um ID único. O Bored Ape #4293 é um ativo completamente diferente do Bored Ape #7810. Os nomes das funções são semelhantes internamente, mas a lógica opera em itens individuais em vez de quantidades genéricas. Você não pode enviar metade de um Bored Ape. É tudo ou nada.

O padrão ERC-1155 surgiu de desenvolvedores de jogos que se cansaram de implantar contratos separados para cada tipo de item. Um único contrato gerencia moedas de ouro (fungíveis, como o ERC-20), espadas de ferro (semi-fungíveis, 50 cópias idênticas) e um capacete lendário único (não fungível, apenas um exemplar). Transferências em lote economizam gás. Uma única transação move 100 itens diferentes em vez de 100 transações separadas.

BEP-20 é como a Binance Smart Chain chama sua versão. Mesmas funções, mesmos eventos, blockchain diferente. É uma cópia do ERC-20 em uma rede mais barata. O padrão SPL da Solana faz o mesmo trabalho com uma arquitetura completamente diferente, porque a Solana não foi projetada para ser compatível com o Ethereum.

Padrão Tipo de token Fungível? Casos de uso Rede
ERC-20 Token fungível Sim Moedas, governança, utilidade Ethereum
ERC-721 Token não fungível Não (IDs únicos) NFTs, arte digital, itens colecionáveis Ethereum
ERC-1155 Multi-token Ambos Jogos, tipos de ativos mistos Ethereum
BEP-20 Token fungível Sim Igual ao ERC-20 Corrente BNB
SPL Fungível + NFT Ambos Ecossistema Solana Solana

Tokens ERC-20 em DeFi: por que o padrão impulsiona as finanças descentralizadas

Remova o padrão ERC-20 e o DeFi entra em colapso da noite para o dia. Não "enfrenta dificuldades". Entra em colapso. Cada componente do sistema pressupõe que os tokens "falam a mesma língua".

A Uniswap emparelha dois tokens ERC-20 em um pool e permite que você troque entre eles. Funciona para USDC. Funciona para SHIB. Funciona para aquela memecoin que seu amigo lançou às 2 da manhã. A DEX não se importa com o que o token faz. Ela só se importa que o contrato implemente as funções `transfer()` e `approve()`. Adicione um pool de liquidez e a negociação começa. Sem solicitação de listagem. Sem análise da exchange. Sem período de espera.

Aave e Compound emprestam tokens ERC-20. O protocolo chama a função `balanceOf()` para verificar o saldo depositado. Chama a função `transfer()` para movimentar tokens. Usa as funções `approve()` e `transferFrom()` quando você quita os empréstimos. Um mercado de empréstimo para um token totalmente novo pode ser criado no mesmo dia do lançamento, pois a interface já é conhecida.

Depois, há o estranho problema do ETH. O ETH existia antes do ERC-20, portanto não segue o padrão. Isso quebra a composibilidade. A solução: WETH. Wrapped Ether é um wrapper ERC-20 em torno do ETH nativo. Deposite 1 ETH e receba 1 WETH, que os protocolos DeFi podem processar normalmente. O WBTC faz o mesmo pelo Bitcoin, trazendo o valor do BTC para o ecossistema Ethereum como um token ERC-20 lastreado 1:1 em Bitcoin real sob custódia.

O resultado prático: posso construir hoje um protocolo DeFi que funcione com todos os tokens ERC-20 já criados, incluindo tokens que ainda não existem. Meu código não precisa saber especificamente sobre USDT. Ele não precisa ser atualizado quando alguém lançar uma nova stablecoin amanhã. A interface cuida de tudo. Essa capacidade de composição é o motivo pelo qual o Ethereum tem mais atividade DeFi, mais TVL (Valor Total de Tokens) e mais ferramentas para desenvolvedores do que qualquer outra blockchain. O padrão ERC-20 é a base sobre a qual tudo o mais se apoia.

Riscos de segurança e problemas comuns do ERC-20

Deixe-me falar sobre o bug de aprovação que custou milhões aos usuários de DeFi e que quase ninguém entende até que seja afetado por ele.

Ao trocar tokens na Uniswap ou depositar na Aave, o aplicativo descentralizado (dApp) pede que você o "aprove" para gastar seus tokens. A maioria dos dApps tem aprovação ilimitada por padrão. Parece inofensivo até você perceber o que isso significa: esse contrato inteligente pode gastar todos os tokens daquele tipo em sua carteira, a qualquer momento, para sempre, até que você revogue explicitamente a permissão. Se o contrato for hackeado daqui a seis meses, o invasor usará sua antiga aprovação para drenar tokens aos quais você nem lembrava de ter dado acesso.

Isso já aconteceu. Mais de uma vez. A solução é simples, mas irritante: aprove apenas o valor exato necessário para cada transação. Ou use o Revoke.cash para limpar aprovações antigas das quais você se esqueceu. Eu verifico o meu a cada poucos meses. Está sempre pior do que eu esperava. O ERC-2612 é um padrão mais recente que substitui as aprovações on-chain por permissões assinadas, o que reduz esse risco. Mas a maioria dos dApps ainda usa o modelo antigo.

Tokens falsos enganam pessoas toda semana. Um golpista implanta um contrato ERC-20 chamado "Uniswap" ou "Chainlink" com um endereço de contrato ligeiramente diferente. Você o procura em uma DEX, vê o nome familiar e compra o falso. Seu dinheiro vai direto para a carteira do golpista. O endereço do contrato LINK verdadeiro é 0x514910771AF9Ca656af840dff83E8264EcF986CA. O falso pode ser 0x514910...alguma-coisa. Sempre copie o endereço do CoinGecko ou do site oficial do projeto. Nunca pesquise apenas pelo nome.

Depois, há os tokens com truques ocultos. Superficialmente, o contrato parece um ERC-20 padrão. Por baixo dos panos, o responsável pela implementação adicionou uma função que permite a emissão ilimitada de novos tokens. Ou uma taxa de venda que retém 99% dos seus tokens quando você tenta trocá-los. Ou uma lista negra que impede qualquer pessoa, exceto o responsável pela implementação, de vender. O padrão ERC-20 não diz nada sobre o que um contrato não pode fazer. Ele apenas especifica as funções mínimas. Todo o resto fica a cargo do desenvolvedor. Auditorias de tokens, DextScore e contratos verificados no Etherscan existem por causa dessa lacuna entre a simplicidade do padrão e a criatividade dos golpistas.

Alguma pergunta?

Sim. Qualquer pessoa pode implantar um token ERC-20 no Ethereum usando Solidity e ferramentas como OpenZeppelin e Remix IDE. A barreira técnica é baixa. Um token básico leva menos de uma hora para ser criado e custa entre US$ 20 e US$ 500 em taxas de gás para ser implantado, dependendo das condições da rede. A parte difícil não é criar o token, mas sim construir algo que justifique a criação de um token.

Mais de 500.000 contratos de tokens ERC-20 foram implantados no Ethereum. A maioria está inativa, abandonada ou são golpes. Alguns milhares têm volume de negociação significativo e uso real. Os principais tokens ERC-20 por capitalização de mercado (USDT, USDC, LINK, UNI, DAI) representam a grande maioria do valor total.

Não. ERC-20 é o padrão técnico (o projeto). USDT é um token stablecoin específico que usa o padrão ERC-20. Pense no ERC-20 como a especificação USB e no USDT como um dispositivo USB específico. O USDT também existe em outras blockchains (Tron, Solana, Avalanche) usando seus respectivos padrões de token, mas a versão Ethereum é um token ERC-20.

Qualquer carteira Ethereum que suporte tokens personalizados é uma carteira ERC-20. MetaMask, Trust Wallet, Coinbase Wallet, Rainbow, Plisio, Trezor e Ledger exibem e gerenciam tokens ERC-20. Quando você adiciona o endereço do contrato de um token ao MetaMask, ele lê as funções ERC-20 (balanceOf, symbol, decimals) para mostrar seu saldo. Você não precisa de uma carteira específica para tokens ERC-20. Qualquer carteira que se conecte ao Ethereum funciona.

Não. A Coinbase é uma corretora de criptomoedas. No entanto, a Coinbase aceita tokens ERC-20 para depósitos e saques através da rede Ethereum. A Coinbase também criou a Base, uma rede de camada 2 no Ethereum onde os tokens ERC-20 podem ser usados com taxas de gás mais baixas. Se você enviar um token ERC-20 para sua conta Coinbase, certifique-se de selecionar a rede Ethereum (ou a camada 2 correta) para evitar a perda de fundos.

Não. ETH é a criptomoeda nativa do Ethereum. Ela existe no nível do protocolo e é anterior ao padrão ERC-20. Os tokens ERC-20 são construídos sobre o Ethereum usando contratos inteligentes. O ETH não segue as regras do ERC-20, e é por isso que o WETH (Wrapped ETH) existe para dar ao ETH um formato compatível com o ERC-20 para uso em DeFi. Quando você interage com a maioria dos protocolos DeFi, seu ETH é automaticamente convertido em WETH nos bastidores.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.