# EIP2612 Signed token approvals

**This doc is a sum up of EIP 2612 and an overview of Permits**

### Intro

Approve the message to allow dApp to spend a token. This is a human-readable signature instead of normal signatures, which are just a bunch of binary data (readable by computers).

> 712 can be used without 2612\
> 712 defines a format for signatures\
> 2612 defines a smart contract interface

## Simple explanation

ELI5 explanation:\
Permits are permissions that send the approved TX to allow dApp to use/spend your tokens.\
Example: Uniswap asks you to use DAI in order to swap DAI for some other token.

## Functions

This ERC proposes an alternative solution that is designed to be as minimal as possible and to only address *one problem*: the lack of abstraction in the ERC-20 `approve` method.

While it may be tempting to introduce `*_by_signature` counterparts for every ERC-20 function, they are intentionally left out of this ERC-20 for two reasons:

* the desired specifics of such functions, such as decision regarding fees for `transfer_by_signature`, possible batching algorithms, varies depending on the use case, and,
* they can be implemented using a combination of `permit` and additional helper contracts without loss of generality.

Discussion regarding this standard: <https://github.com/ethereum/EIPs/issues/2613\\>
Full implementation: <https://eips.ethereum.org/EIPS/eip-2612>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nft-standards.gitbook.io/nft-standards-wiki/nft-security/eip2612-signed-token-approvals.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
