Skip to the article
Blockheight

Crypto markets, protocols, policy

Wallet permits can replace a separate token approval

A permit can skip a separate token approval transaction, but the signature still sets who may spend tokens, how much they may spend and when it can be used.

The Blockheight Editors··3 min read

Wallet permits can replace a separate token approval

A permit signature lets a compatible token approve spending without a separate onchain approval transaction. The signature sets a spender and an amount; a contract can submit it with the transaction that uses the tokens.

What does a permit signature authorize?

Under Ethereum’s ERC-2612 standard, a permit changes a token’s allowance through a signed message instead of an approval call from the wallet. The message identifies the token owner, spender, amount, nonce and deadline. A valid signature lets the token contract record that allowance.

The signature is not a general instruction to transfer every asset in the wallet. Its scope depends on the fields shown and the token contract that verifies it. ERC-2612 also uses a nonce to prevent the same permit from being accepted repeatedly, and a deadline to limit when it can be submitted.

How does a permit skip an approval transaction?

In the usual flow, a user first sends an approval transaction, then sends a second transaction to swap or deposit tokens. With a supported permit, an app can pass the signed message to a contract as part of the swap or deposit call, combining those steps. The signature itself does not move tokens; the contract uses it to set or exercise the permission.

That can remove one wallet confirmation and one separate onchain transaction. It does not necessarily make the swap free: a transaction still needs to be submitted, and the app or another party may pay its network fee. Cross-chain flows can involve additional steps after a token is authorized; for the stalled-transfer detail, see this guide to thor swap.

Permit support varies. ERC-2612 works only for tokens that implement it. Uniswap’s Permit2 documentation describes a separate system that can handle tokens without ERC-2612, but it requires a prior token approval to Permit2.

What should you check before signing?

Read the wallet’s typed-data preview and compare the token, spender, amount and deadline with the action you started. Ethereum’s ERC-2612 specification defines those fields; if the preview hides them or names an unexpected spender, stop and inspect the request before signing.

  • Confirm the token and network match the intended transaction.
  • Check the spender address and requested amount.
  • Check when the signature expires; a longer deadline leaves more time for submission.
  • Afterward, review the token’s allowance. ERC-2612’s deadline limits permit submission, but does not by itself set an expiry for the allowance it creates.

For many one-off swaps, a permit can be simpler than a separate approval transaction when the token and app support it. The next step is to verify the permission onchain; whether a particular transaction supports a permit, and the exact allowance it leaves behind, depends on the token and contract involved.

Related stories