Como o Paymaster funciona
Um usuário envia uma UserOperation (UserOp) a um bundler por meio do alt-mempool do ERC-4337. Se o campo paymasterAndData da UserOp não estiver vazio, isso indica que um Paymaster deve ser usado.
Antes de incluir a UserOp on-chain, o bundler normalmente simula a operação por meio do EntryPoint (usando ferramentas de simulação do EntryPoint) para verificar se a validação será aprovada e se os custos de gas estão cobertos.
On-chain, o EntryPoint chama o Paymaster durante a fase de validação por meio de validatePaymasterUserOp(userOp, requestId, maxCost). O Paymaster pode aceitar (opcionalmente retornando dados de "context") ou rejeitar via revert. Após a execução, o EntryPoint chama postOp(mode, context, actualGasCost) para que o Paymaster finalize a contabilização, como cobrar o usuário em tokens ou reduzir uma cota.
Para participar, os Paymasters mantêm um depósito em ETH no EntryPoint para pagar as taxas e também fazem um stake adicional, com um prazo para retirada (unstake delay), para desencorajar comportamentos de griefing/DoS.
Os padrões mais comuns incluem:
- Sponsored Paymaster ("gasless" de verdade): o patrocinador paga.
- ERC-20 / token Paymaster: o usuário paga em um token, enquanto o Paymaster cobre o ETH.
- Verifying Paymaster: um serviço off-chain assina aprovações incorporadas no
paymasterAndData. - Whitelist / híbrido: listas de permissão, cotas ou patrocínio específico por ação.
Exemplo
Se pagar gas é como precisar de dinheiro vivo para uma estrada com pedágio, o Paymaster é como uma conta de pedágio que paga por você: às vezes de graça, às vezes cobrando depois em outra moeda.
Por que é importante
Os Paymasters viabilizam a abstração de gas, que pode eliminar a barreira de "precisar ter ETH" no onboarding e na UX dos aplicativos. Eles também permitem que os apps apliquem regras de negócio sobre quem recebe patrocínio e quando.
Riscos ou limitações
Um Paymaster ainda pode pagar o gas quando uma operação patrocinada falha, então regras de validação fracas podem levar a gas griefing e ao esgotamento do depósito. Designs que dependem de assinaturas off-chain precisam evitar replay e vincular as aprovações aos dados da chamada, aos limites e ao prazo de validade pretendidos. Os token paymasters acrescentam riscos de precificação, slippage e execução na conversão de token para ETH.
Termos relacionados
- ERC-4337 (Account Abstraction)
- EntryPoint
- UserOperation
- Bundler
- Gas Abstraction