Swap security

Permit signature versus token approval: which permission are you granting?

Compare a standard onchain token approval with an ERC-2612 signed permit and understand what each authorizes.

A standard approval changes token allowance through an onchain transaction from the owner. An ERC-2612 permit lets a valid signed message authorize that allowance change when submitted to the contract. Both can create permission to spend tokens.

QuestionStandard approvalERC-2612 permit
What do you authorize?A token-spender allowance updateA signed allowance update
What limits it?Amount and token/spender scopeThose fields plus nonce and submission deadline
Who submits?Usually the owner’s transaction flowAny party holding a valid permit can submit it

These distinctions follow ERC-20 and ERC-2612. Not every token supports the latter, and other permit designs can use different semantics.

The deadline can be misunderstood

In ERC-2612, the deadline limits submission of the signed permit. It does not by itself impose that same expiry on the allowance after successful submission. Read the specific scheme before treating a short signature deadline as a short-lived spending permission.

Use the same scrutiny for both

Verify token, spender, amount, network and contract identity. A gasless signing prompt is not a lesser authorization simply because it avoids a separate owner-paid approval transaction.

Permit2 adds another permission-management layer and should be reviewed on its own terms. If you are unsure which mechanism the wallet is requesting, pause at the request rather than assuming every screen labeled Permit means the same thing.

Sources & verification (3)

Source-check date is recorded in the article details. URLs are provided for manual verification. Use Copy to keep this page open.

  1. ERC-20: Token Standard

    Allowance, spender, transferFrom, metadata and approval event semantics.

    https://eips.ethereum.org/EIPS/eip-20
  2. ERC-2612: Permit Extension for EIP-20 Signed Approvals

    Signed approval fields, nonce, deadline, domain and permit submission.

    https://eips.ethereum.org/EIPS/eip-2612
  3. Permit2 Overview

    Token approval layer and distinction between SignatureTransfer and AllowanceTransfer.

    https://developers.uniswap.org/docs/protocols/permit2/overview

Continue reading

Permit2 has two permission layers: what should you review? What to inspect in a typed-data signature before a swap