EIP-2612 ergänzt ERC-20-Tokens um permit(owner, spender, value, deadline, v, r, s); der Inhaber signiert das typisierte Struct Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline) unter der Domain des Tokens. Permit2 zentralisiert das: Nutzer genehmigen Permit2 einmal pro Token und signieren dann für jede berechtigte Adresse Nachrichten vom Typ PermitSingle, PermitBatch oder Signature-Transfer, mit Ablaufzeiten und Nonces.
Weil beim Signieren nichts an das Netzwerk gesendet wird, merken Nutzer oft nicht, dass sie Zugriff gewährt haben; Drainer-Kits fordern Signaturen für permit oder Permit2 mit riesigen Beträgen und Fristen weit in der Zukunft an und reichen sie dann ein. Wallets dekodieren diese Nachrichten zunehmend, und der EIP-712-Inspektor zeigt berechtigte Adresse, Betrag und Frist an, bevor jemand signiert.