Written by Pablo Gómez
Founder & CEO at Metlabs · Reviewed on October 11, 2026
Permit2 is not a numbered EIP but a canonical Uniswap Labs contract, deployed to the same deterministic address on every EVM chain via CREATE2, that has become a de facto standard. It unifies two mechanisms. AllowanceTransfer manages permissions with both amount and expiration limits, stored in the Permit2 contract itself rather than in the token. SignatureTransfer authorizes single-use transfers through a signature, with a nonce that cannot be reused to prevent replays. A user makes one traditional approve to Permit2 and from there authorizes each application with off-chain signatures.
It matters for security and user experience. Allowances with time expiry mitigate the long-standing risk of infinite approvals that stayed open with no expiry, a good practice that shrinks the attack surface. It also removes the recurring approve-then-act double transaction, lowers gas and friction, and works with any existing ERC-20 token, including those that do not implement ERC-2612's native permit.
Uniswap uses it in its UniversalRouter, and many aggregators and wallets have adopted it as a shared authorization layer. Circle's documentation for USDC describes Permit2 as one path to authorize spending. In practice it relies on EIP-712 to sign typed data structures and is the functional successor to ERC-2612's permit, solving the fragmentation of every token having to implement permit on its own.
Sources
Also known as
- Permit 2





