Skip to main content

Permit

EIP-2612 Permit signatures enable gasless token approvals through meta-transactions. Users sign an off-chain message granting approval, which can be submitted by a relayer paying the gas.

Overview

EIP-2612 extends ERC-20 tokens with a permit function that accepts EIP-712 signed messages. This enables:
  • Gasless approvals: Users don’t need ETH to approve tokens
  • Single-transaction flows: Approve + transfer in one transaction
  • Meta-transactions: Relayers can pay gas on behalf of users
  • Better UX: No separate approval transaction needed

Types

PermitType

PermitDomainType

Methods

createPermitSignature

Creates an EIP-712 signature for a permit message.

verifyPermit

Verifies a permit signature matches the permit data and domain.

Known Tokens

Pre-configured domain data for popular ERC-2612 tokens:

Complete Example

Security Considerations

Deadline

Always set a reasonable deadline. Expired permits can’t be used:

Nonce Management

Each permit must use the owner’s current nonce. Replay protection:

Domain Verification

Ensure the domain matches the token contract:

Amount Limits

Be careful with unlimited approvals:

See Also

References