Skip to main content
Looking for Contributors! This Skill needs an implementation.Contributing a Skill involves:
  1. Writing a reference implementation with full functionality
  2. Adding comprehensive tests
  3. Writing documentation with usage examples
See the ethers-provider Skill for an example of a complete Skill implementation.Interested? Open an issue or PR at github.com/evmts/voltaire.
Skill — Copyable reference implementation. Use as-is or customize. See Skills Philosophy.
Gasless token approvals using EIP-2612 permit signatures and Uniswap’s Permit2 contract.

Why Permit?

Traditional ERC-20 approvals require two transactions:
  1. approve() — User pays gas to approve spender
  2. transferFrom() — Protocol transfers tokens
With permit, users sign a gasless message instead:
  1. User signs permit message (free, off-chain)
  2. Protocol calls permit() + transferFrom() in one transaction
This improves UX significantly—users don’t pay for approvals.

Planned Implementation

This Skill should cover:

EIP-2612 Permit

Permit2 (Uniswap)

Batch Permits

Tokens Supporting EIP-2612

Most major tokens support native permit:
  • USDC
  • DAI
  • UNI
  • AAVE
  • Most new tokens
For tokens without native permit, use Permit2.

Resources