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
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.