WATS Wallet logoWATS Wallet
Técnico7 min de lectura

Bundlers y UserOperations: cómo funcionan las transacciones ERC-4337

Un recorrido claro y técnicamente preciso del flujo de ERC-4337 — UserOperations, la mempool alternativa, los bundlers, el contrato EntryPoint y los paymasters — y cómo encajan entre sí.

Un repaso rápido de ERC-4337

ERC-4337 es el estándar de Ethereum para la abstracción de cuentas — una forma de dar a las cuentas de smart contract la misma capacidad de primera clase para iniciar y pagar acciones que las cuentas de propiedad externa (EOA) siempre han tenido, sin ningún cambio en el protocolo base. En lugar de modificar la capa de consenso, ERC-4337 introduce un sistema paralelo de objetos de alto nivel e infraestructura off-chain que finalmente se liquida mediante transacciones ordinarias de Ethereum. Si prefieres primero la versión desde cero, nuestra explicación sobre qué es la abstracción de cuentas cubre la motivación, y qué es ERC-4337 traza el estándar completo. Este artículo hace zoom en la mecánica: los objetos que se mueven por el sistema y los actores que los procesan. Ten en cuenta que ERC-4337 es un estándar de EVM — aplica a Ethereum y cadenas compatibles con EVM, no a cadenas no EVM como Solana o TON.

Qué es realmente una UserOperation

El objeto central en ERC-4337 es la UserOperation. Superficialmente parece una transacción, pero se entiende mejor como una declaración de intención firmada: "esto es lo que mi cuenta quiere que se haga, y estos son los parámetros para validarlo y pagarlo." Una UserOperation lleva campos como la cuenta remitente, un nonce, el calldata a ejecutar, límites de gas, parámetros de comisión, un campo opcional paymasterAndData y una firma.

La diferencia clave con una transacción normal es quién y qué la firma. Una transacción convencional de Ethereum debe ser firmada por la clave privada de una EOA usando un esquema ECDSA fijo, y esa misma cuenta paga el gas. Una UserOperation es validada por la propia lógica de la cuenta de smart contract del remitente — que puede implementar cualquier esquema de firma, regla multiclave o política de autorización que la cuenta defina — y no tiene por qué pagarse a sí misma en gas nativo en absoluto. Esa flexibilidad es justo el objetivo: la cuenta, no el protocolo, decide qué aspecto tiene una acción válida.

La mempool alternativa donde viven

Las UserOperations no entran en la mempool normal de transacciones de Ethereum, porque todavía no son transacciones. En su lugar se difunden a una mempool alternativa separada (a menudo llamada alt-mempool) — una red peer-to-peer dedicada a los objetos de ERC-4337. Las wallets y las dApps envían UserOperations aquí, y la infraestructura que las consume escucha en esta red en lugar de en la mempool de la capa base. Esta separación mantiene el tráfico de abstracción de cuentas fuera de la ruta crítica para el consenso hasta el momento en que se empaqueta en una transacción real.

El papel del bundler

Un bundler es el actor off-chain que convierte las intenciones en realidad on-chain. Su trabajo tiene cuatro partes. Primera, recopila UserOperations de la mempool alternativa. Segunda, simula y valida cada una — ejecutando la lógica de validación de la cuenta en un contexto simulado para confirmar que la firma es válida, que el nonce es correcto y que la cuenta (o su paymaster) puede cubrir el coste — mientras hace cumplir reglas que impiden que las operaciones consuman recursos que no pueden pagar. Tercera, empaqueta una o más UserOperations válidas en una única transacción ordinaria de Ethereum. Cuarta, envía esa transacción a la red desde su propia EOA, pagando por adelantado el gas de la capa base y esperando ser reembolsado on-chain.

Como el bundler adelanta el gas y gana comisiones por la inclusión, se comporta muy parecido a un constructor de bloques especializado para el tráfico de abstracción de cuentas. Su paso de simulación y validación es lo que lo protege: no empaquetará una operación que no lograra reembolsarlo.

El contrato EntryPoint

Todo converge en un único y canónico smart contract llamado EntryPoint. La transacción del bundler es una llamada al EntryPoint con un array de UserOperations. El EntryPoint entonces ejecuta un estricto bucle de dos fases. En la fase de validación, para cada operación llama a la función de validación de la cuenta remitente (y a la del paymaster, si se especifica uno) para volver a comprobar on-chain la firma, el nonce y el acuerdo de pago. Solo después de que todas las operaciones del lote hayan sido validadas pasa a la fase de ejecución, donde despacha el calldata de cada operación a su cuenta para realizar efectivamente la transferencia, el swap u otra acción.

Esta división importa: la validación y la ejecución se separan para que las garantías de pago de un lote se establezcan antes de que corra cualquier trabajo que cambie el estado, y para que el EntryPoint pueda contabilizar el gas con precisión a través de muchas operaciones a la vez.

Dónde encaja el paymaster

Un paymaster es un contrato opcional que acepta pagar por una UserOperation en nombre de la cuenta. Cuando una UserOperation incluye datos de paymaster, el EntryPoint pregunta a ese paymaster, durante la fase de validación, si patrocinará la operación y bajo qué términos. El paymaster puede aceptar incondicionalmente (patrocinio verdaderamente sin gas), o puede aceptar a cambio de valor — lo más útil, cobrando al usuario en un token ERC-20 en lugar de gas nativo. Para una mirada más profunda a este componente, consulta qué es un paymaster. El paymaster es el enganche del flujo que desacopla "con qué paga el usuario" de "con qué se paga a la red."

Cómo se gestionan el gas y los fallos

El gas en ERC-4337 está en capas. El bundler paga ETH real por la transacción externa; el EntryPoint mide el gas de validación y ejecución de cada UserOperation contra los límites que declaró; y quienquiera que sea el responsable — la cuenta o su paymaster — debe haber hecho staking o depositado lo suficiente para cubrir la factura, que el EntryPoint liquida al final. Los fallos se contienen gracias al diseño de validación primero. Si una operación falla durante la validación on-chain, simplemente se excluye y no puede confirmarse, y la simulación off-chain del bundler está pensada para detectar esto antes del envío. Si una operación pasa la validación pero su ejecución revierte, los efectos de la ejecución se deshacen mientras el gas ya gastado sigue contabilizándose y pagándose — así que un bundler no queda sin compensar por un trabajo honesto. Por eso los bundlers simulan con tanto cuidado: su protección contra el griefing es negarse a incluir cualquier cosa que no fuera a reembolsarles.

Cómo usa WATS esto

En cadenas EVM, WATS se apoya en exactamente una pieza de este flujo: un paymaster ERC-4337. Cuando haces una transferencia, un swap o staking en la Hot Wallet de WATS, el paymaster es lo que permite que tu comisión se cobre en ATS en lugar del gas nativo de la cadena — nunca necesitas tener ETH, BNB ni ningún otro token de gas para transaccionar. Como ATS es un OFT de LayerZero, un único saldo de ATS cubre las comisiones en EVM, Solana y TON (en cadenas no EVM un fee-payer equivalente desempeña el papel del paymaster), y el ATS cobrado se quema desde 100.000.000 hacia un piso de 30.000.000. WATS sigue siendo totalmente no custodial — tú tienes tus propias claves — y es la primera y única wallet que combina comisiones de token único ERC-4337 + OFT cobradas en lugar del gas nativo con esa quema. Consulta cómo funciona el modelo de comisiones ATS para el panorama completo.

Preguntas frecuentes

¿Cuál es la diferencia entre una UserOperation y una transacción normal de Ethereum?

Una transacción normal es firmada por una cuenta de propiedad externa usando ECDSA fijo y paga su propio gas en el token nativo de la cadena. Una UserOperation es un objeto de intención de alto nivel validado por la propia lógica de la cuenta de smart contract del remitente, que puede usar reglas personalizadas, y no tiene por qué pagarse a sí misma en gas nativo — un paymaster puede cubrir la comisión. Las UserOperations también viajan a través de una mempool alternativa separada en lugar de la mempool estándar de transacciones.

¿Qué hace realmente un bundler de ERC-4337?

Un bundler recopila UserOperations de la mempool alternativa, simula y valida cada una para confirmar las firmas, los nonces y que el pago puede cubrirse, y luego empaqueta las válidas en una única transacción ordinaria de Ethereum que llama al contrato EntryPoint. Envía esa transacción desde su propia cuenta, adelantando el gas de la capa base y esperando ser reembolsado on-chain. La simulación cuidadosa es lo que protege al bundler de incluir operaciones que no le devolverían el pago.

¿Permite ERC-4337 pagar las comisiones de gas en un token distinto de ETH?

Sí, cuando se usa un paymaster. Un paymaster es un contrato opcional que puede patrocinar una UserOperation y, en lugar de cobrar gas nativo, aceptar el pago en un token ERC-20, liquidando la comisión de red real por separado. Así es como una wallet puede permitirte transaccionar sin tener el token de gas nativo de la cadena. ERC-4337 y sus paymasters son exclusivos de EVM; cadenas no EVM como Solana y TON logran un resultado similar con un fee-payer o relayer equivalente.