¿Qué es ERC-20?
ERC-20 es un estándar de interfaz para tokens fungibles en Ethereum. Está dirigido a un tipo de programa en cadena encargado de registrar saldos y procesar operaciones: un contrato de token. ERC es la sigla de Ethereum Request for Comments, la categoría de estándares y convenciones de capa de aplicación de Ethereum; 20 es el número de esta propuesta. ERC-20 define cómo debe responder un contrato de token a las consultas de saldo y de emisión total, cómo debe procesar transferencias y autorizaciones, y qué registros de operación debe emitir para que las aplicaciones los lean —sus eventos—, de modo que billeteras y otras aplicaciones puedan conectarse a distintos tokens de forma parecida.
«Fungible» significa que cantidades iguales de un mismo token son intercambiables en la contabilidad del contrato. Una unidad registrada por cierto contrato no pasa a ser de otro tipo, por ejemplo, solo porque provenga de otra dirección. Lo que ERC-20 unifica es la manera de operar sobre esas unidades, no su precio, su uso ni su grado de confiabilidad.
Una interfaz común resuelve las diferencias de integración
Si cada contrato de token usara nombres de función y parámetros distintos, una billetera tendría que aprender un nuevo conjunto de métodos de consulta y transferencia por cada token que agregara, y a las aplicaciones en cadena les costaría reutilizar código existente.
ERC-20 define un conjunto de interfaces comunes. Una billetera puede leer los saldos de distintos tokens con el mismo método de consulta, una aplicación puede pedir una transferencia según lo convenido, y los servicios de datos pueden leer los eventos de transferencia y autorización en un formato uniforme.
El estándar en sí no crea un token. Quien desarrolla igual debe escribir o adoptar un contrato concreto y desplegarlo en la red. Cada contrato puede registrar su propia emisión, los saldos de las cuentas y reglas adicionales, así que dos tokens ERC-20 pueden usar código distinto y tener permisos de administración completamente distintos.
Saldos, totales y unidades de visualización
Un contrato ERC-20 registra las cantidades de tokens como números enteros. balanceOf sirve para consultar el saldo de una dirección, y totalSupply para consultar la emisión total que el contrato declara.
Los decimales que se ven en una interfaz normalmente vienen de una regla de visualización, no de que el contrato guarde realmente una fracción. El campo opcional decimals indica a la billetera cuántos lugares debe desplazar el entero hacia la izquierda. Si un contrato registra 1.000.000 de unidades mínimas y decimals es 6, una interfaz normalmente muestra 1 token.
Eso no cambia la cantidad en cadena ni cambia automáticamente el valor de un token. El estándar original clasifica como información opcional el campo de nombre name, el campo de código de cotización symbol y el campo de decimales de visualización decimals; además, nombres y códigos de cotización pueden repetirse. Identificar un token ERC-20 de forma confiable exige revisar a la vez la red y la dirección del contrato, no solo un icono o un código de cotización.
Cómo ocurre una transferencia directa
Cuando quien tiene los tokens los transfiere desde su propio saldo a otra dirección, normalmente llama a transfer y entrega la dirección de destino y una cantidad expresada en la unidad mínima.
Al ejecutarse, el contrato revisa sus propias reglas. En el caso básico, un saldo insuficiente hace que la operación falle; una implementación también puede agregar pausa, listas, comisiones de transferencia u otras restricciones. Si tiene éxito, el contrato actualiza sus saldos internos y emite un evento Transfer, para que billeteras, exploradores de bloques y servicios de datos reconozcan ese cambio.
El evento Transfer es una pista importante para leer los cambios, pero el saldo final lo sigue determinando el estado del contrato. Una aplicación además debe confirmar que la transacción se escribió con éxito en la red correcta, y que el evento viene de la dirección de contrato correcta.
La autorización permite que una aplicación transfiera una cantidad limitada en tu nombre
ERC-20 también admite un flujo de «primero autorizar, después que lo ejecute otra dirección o contrato». Se usa con frecuencia para intercambio descentralizado, préstamos u otras operaciones en las que un contrato necesita recibir tokens.
Intervienen tres roles:
- quien tiene los tokens los posee y decide si autoriza;
- la parte autorizada puede ser otra dirección o una aplicación en cadena;
- quien recibe es la dirección a la que finalmente se transfieren los tokens, y puede ser distinta de la parte autorizada.
Quien tiene los tokens llama a approve para fijar un límite de autorización. allowance sirve para consultar cuánto queda; la parte autorizada llama a transferFrom para mover tokens dentro de lo que permiten el saldo y el límite restante. Cuando la autorización tiene éxito, el contrato emite un evento Approval.
Una autorización no significa que los tokens ya hayan salido, pero deja margen para que la parte autorizada actúe después. Si el límite es grande o no se revoca a tiempo, en cuanto la aplicación autorizada tenga una falla, quede bajo el control de otra persona o se comporte de forma inesperada, podrá mover tokens dentro del alcance autorizado. Conviene revisar la dirección autorizada, el contrato del token y el límite, en lugar de confiar en el nombre que muestra la página de una aplicación.
Qué tener en cuenta al cambiar un límite de autorización
El diseño original de ERC-20 permite volver a llamar a approve para sobrescribir el límite anterior con un valor nuevo. Si el límite anterior no se usó y quien tiene los tokens lo cambia directamente por otro valor distinto de cero, la parte autorizada puede gastar el límite anterior antes de que la transacción de cambio surta efecto y después seguir con el nuevo límite, sumando más que el nuevo límite que se pretendía dejar.
La especificación de ERC-20 sugiere que las interfaces de cliente primero fijen en 0 el límite de la misma parte autorizada y establezcan el nuevo valor solo después de que se confirme la transacción de puesta a cero. Es una sugerencia de compatibilidad sobre el flujo de cambio de autorización; no significa que todas las billeteras usen la misma interacción, ni sustituye el juicio sobre el contrato autorizado.
Revocar una autorización normalmente también consiste en fijar el límite en 0 y enviar una transacción en cadena. Solo desconectar la billetera de un sitio web normalmente no cambia de forma automática un límite ya escrito en el contrato del token.
La interfaz común del estándar base
Desde el punto de vista de quien lo usa, las interfaces base se pueden agrupar en tres conjuntos:
- consulta: leer la emisión total, el saldo de una dirección y el límite de autorización restante;
- operación: transferencia directa por parte de quien tiene los tokens, fijar una autorización, o transferencia realizada por la parte autorizada;
- eventos: registrar transferencias y autorizaciones exitosas, para que las aplicaciones externas actualicen sus datos.
Nombre, código de cotización y decimales son información de visualización opcional. El estándar además exige que quien llama pueda manejar el caso de una operación que devuelve false, sin suponer que cada llamada o tiene éxito o reporta un error de forma automática. En la integración real, una aplicación debe enfrentarse a las distintas implementaciones ya desplegadas, y no solo revisar si existe un nombre de función.
Qué capacidades no pertenecen al estándar base
ERC-20 no define de forma uniforme cómo debe crear un token su emisión inicial, ni exige que un contrato siga acuñando o admita la destrucción. Acuñación, destrucción, pausa, congelamiento, listas, comisiones de transacción, derechos de voto, actualizaciones y roles de administración pueden agregarse por separado en una implementación concreta, o no existir en absoluto.
El estándar tampoco define:
- si la emisión tiene un límite máximo y quién puede cambiarla;
- si un token corresponde a reservas, bienes, servicios u otros derechos fuera de la cadena;
- el precio de un token, su liquidez o sus lugares de negociación;
- si un administrador puede pausar, congelar o actualizar el contrato;
- si un token con el mismo nombre en otra red pertenece al mismo esquema de emisión.
Por eso, leer totalSupply solo entrega el total que el contrato declara en ese momento y, por sí solo, no dice si habrá nuevas emisiones. Ver el mismo symbol tampoco prueba que dos contratos representen el mismo token.
Contratos de token y ETH nativo
ETH es el activo nativo de la red Ethereum, se usa para pagar la comisión de gas que la red cobra por ejecutar transacciones, y lo registra directamente el protocolo. Un token ERC-20, en cambio, tiene un contrato inteligente que mantiene sus saldos y sus reglas de operación.
Ambos se pueden transferir entre direcciones, pero la vía de llamada no es la misma. Una transferencia común de ETH no requiere llamar a ningún contrato ERC-20, y ETH en sí no es un token ERC-20. Algunas aplicaciones usan un contrato para representar ETH en una forma ERC-20, de modo que pueda conectarse a programas que solo aceptan la interfaz ERC-20; eso introduce otro contrato y sus reglas, así que los dos registros no pueden tratarse directamente como el mismo objeto.
La compatibilidad de interfaz no implica comportamiento idéntico
«Admitir ERC-20» normalmente solo indica que una billetera o aplicación puede llamar a las interfaces base. Un token concreto todavía puede comportarse de otra manera:
- se descuenta una comisión extra al transferir, de modo que la cantidad recibida es menor que la ingresada;
- un administrador puede pausar transferencias, congelar direcciones o cambiar la implementación;
- algunos contratos antiguos no devuelven resultados como la aplicación espera;
- faltan campos de visualización, están duplicados o los provee una fuente no confiable;
- una lógica adicional hace fallar una transferencia común bajo ciertas condiciones.
Por eso ERC-20 ofrece un lenguaje común, no reglas de negocio uniformes. Juzgar si un token se puede integrar de forma segura exige revisar la dirección de contrato concreta, el código o la información de verificación, los permisos de administración y los resultados reales de una llamada.
Preguntas frecuentes
¿Todos los tokens de Ethereum son ERC-20?
No. Ethereum también tiene estándares orientados a tokens con número propio o a otros usos, y pueden existir interfaces personalizadas. ERC-20 sirve principalmente a tokens registrados por cantidad, donde las unidades iguales son intercambiables.
¿Todos los tokens usan 18 decimales?
No. decimals es un campo de visualización opcional y distintos tokens pueden usar valores distintos. Una aplicación debería leer y manejar correctamente la configuración del contrato concreto antes de calcular o mostrar cantidades.
¿Desconectar la billetera de un sitio revoca la autorización?
Normalmente no. Desconectarse impide que el sitio siga pidiendo operaciones a la billetera por la sesión actual, pero el límite en cadena lo sigue registrando el contrato del token. Revocar normalmente requiere cambiar ese límite a 0 y lograr que la transacción se escriba con éxito en la red.
¿Recibir un token ERC-20 significa que es auténtico?
No. Cualquiera puede desplegar un contrato con nombre o código de cotización parecido. Hay que revisar la red, la dirección del contrato y fuentes de información confiables; la compatibilidad con el estándar no prueba la identidad de quien emite, ni reservas, ni valor.
¿Otras blockchains pueden usar este estándar directamente?
ERC-20 es un estándar de capa de aplicación de Ethereum. Otras redes capaces de ejecutar contratos inteligentes de estilo Ethereum pueden adoptar una interfaz parecida, pero las direcciones de contrato y el estado son independientes en cada red. Mover entre cadenas normalmente implica además un puente u otro esquema de emisión, que la interfaz ERC-20 no realiza de forma automática.
Conceptos relacionados
Continúa con estándar de tokens, token cripto, contrato inteligente y comisión de gas, o vuelve al glosario de criptomonedas.
Fuentes
- ERC-20: Token Standard — requisitos básicos de consulta, transferencia, autorización, valores de retorno y eventos.
- Ethereum.org: introducción a ERC-20 — para qué sirve el estándar, funciones comunes y cómo se integran billeteras y aplicaciones.
- EIP-1: propósito y categorías de las Ethereum Improvement Proposals — qué significan EIP y ERC, su alcance y el proceso de estándares.
© 2025 OKX. Se permite la reproducción o distribución de este artículo completo, o pueden usarse extractos de 100 palabras o menos, siempre y cuando no sea para uso comercial. La reproducción o distribución del artículo en su totalidad también debe indicar claramente lo siguiente: "Este artículo es © 2025 OKX y se usa con autorización". Los fragmentos autorizados deben hacer referencia al nombre del artículo e incluir la atribución, por ejemplo, "Nombre del artículo, [nombre del autor, si corresponde], © 2025 OKX". Algunos contenidos pueden ser generados o ayudados por herramientas de inteligencia artificial (IA). No se permiten obras derivadas ni otros usos de este artículo.









