← Back to home

PermitEverywhere

The magic of allowance-less permit() for all tokens (even NFTs).

Screenshots

PermitEverywhere screenshot 1
PermitEverywhere screenshot 2
PermitEverywhere screenshot 3

Problem Statement

We created a single, simple contract for people to set ERC20 allowances to once. Rather than protocols asking users to set new allowances on their contracts, they can simply accept a signed permit style message from the user which they can redeem with our contract to transfer user tokens within parameters set by the user. No more dealing with approvals when using a protocol, no more dangling allowances that can be exploited if the protocol is compromised! It's an entirely free, public utility.

Solution

We use EIP712 typed messages on both the client and contract ends for the actual permit messages. The implementation is heavily inspired by EIP2612 but extended to work with ERC721s. We deployed to Ethereum, polygon, and optimism because we believe this pattern should be available everywhere.

Hackathon

ETHNewYork 2022

2022

Prizes

  • 🏆

    🚀 Optimism — Just Deploy!

Contributors