A EIP-2612 acrescenta permit(owner, spender, value, deadline, v, r, s) aos tokens ERC-20; o proprietário assina a struct tipada Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline) sob o domínio do token. O Permit2 centraliza isso: os usuários aprovam o Permit2 uma vez por token e depois assinam mensagens PermitSingle, PermitBatch ou de transferência por assinatura (signature transfer) para cada spender, com prazos de expiração e nonces.
Como nada é transmitido à rede no momento da assinatura, muitas vezes os usuários não percebem que concederam acesso; kits de drenagem de carteiras (drainer kits) pedem assinaturas permit ou Permit2 com valores enormes e prazos (deadlines) muito distantes no futuro e depois as enviam. Cada vez mais carteiras decodificam essas mensagens, e o inspetor de EIP-712 mostra o spender, o valor e o prazo antes que alguém assine.