# Token approvals: what a spender can do after you authorize it

A token approval gives another address or contract permission to move specified assets under the token’s rules. ERC-20 uses spending allowances; NFT standards offer token-specific or operator-wide permissions. Disconnecting a website is different from changing an onchain approval, and an approval can remain after the original interaction ends.

Evidence: [ERC-20: Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md); [ERC-721: Non-Fungible Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md); [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md); [EIP-1193: Ethereum Provider JavaScript API](https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-1193.md)

Canonical: https://degreesofsatoshi.com/encyclopedia/ethereum-token-approvals/
Published: 2026-10-02
Substantively modified: 2026-10-02
Independently verified by an automated reviewer: 2026-10-02T18:16:35.976Z

AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied.

## Key facts

- **ERC-20 allowance:** The remaining amount a spender is authorized to transfer ([ERC-20: Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md))
- **NFT scope:** A token or an operator-wide permission, depending on the method ([ERC-721: Non-Fungible Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md))
- **Revocation:** Changes permission; it does not reverse a completed transfer ([ERC-20: Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md); [ERC-721: Non-Fungible Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md))

## Connection does not grant the same authority as approval

Connecting an account to a site and granting an on-chain token allowance are separate actions. ERC-20 approval identifies a spender and an amount under the token’s rules. The spender later uses transferFrom to act within the allowance.

A supported permit can authorize an allowance by signature, with another party paying to submit it. The ERC-2612 deadline limits accepting that permit; it does not automatically expire the allowance already established. Disconnecting the site does not change this on-chain state.

Evidence: [ERC-20 Token Standard](https://eips.ethereum.org/EIPS/eip-20); [Permit Extension for EIP-20 Signed Approvals](https://eips.ethereum.org/EIPS/eip-2612); [EIP-1193: Ethereum Provider JavaScript API](https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-1193.md)

## Example: authorizing 100 units is not the same as paying 100 units

Suppose a token balance is 300 units and an account approves a spender for 100. The approval itself need not change the 300-unit balance. If the spender then transfers 40 under an ordinary decreasing-allowance implementation, 60 remains authorized.

The example assumes that implementation’s allowance behavior. A very large or specially handled allowance can leave continuing authority. Read the amount and spender, not simply the name of the application displaying the request.

Evidence: [ERC-20: Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md)

## NFT operators can receive broader permissions

ERC-721 distinguishes one-token approval from approval-for-all for an operator. ERC-1155’s standard operator approval covers the owner’s token types within that contract.

Those permissions do not map neatly to an ERC-20 numerical allowance. A wallet should describe whether the request authorizes a quantity, a specific token or an operator across a collection.

Evidence: [ERC-721: Non-Fungible Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md); [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md)

## Closing a tab and revoking permission affect different systems

Disconnecting a site changes its wallet connection or account access. An onchain allowance lives in contract state and requires the appropriate state change to alter it. Closing a browser does not edit that state.

Revocation also cannot undo assets already transferred. A pending revocation may compete with other transactions before inclusion. ERC-20 additionally warns about changing an existing nonzero allowance and recommends an interface flow through zero.

Evidence: [EIP-1193: Ethereum Provider JavaScript API](https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-1193.md); [ERC-20: Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md); [ERC-721: Non-Fungible Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md)

## Questions

### Is an approval itself always a transfer?

No. It commonly updates permission so a spender can perform a separate transfer later. The approval transaction can still consume gas.

Evidence: [ERC-20: Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md); [Gas and fees](https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/gas/index.md)

### Does disconnecting an application revoke its allowance?

No. Provider connection state and token-contract permission are separate. The relevant onchain allowance or approval must be changed.

Evidence: [EIP-1193: Ethereum Provider JavaScript API](https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-1193.md); [ERC-20: Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md)

### Can revocation recover tokens already moved?

No. Revoking permission limits subsequent use once effective; it is not a reversal of a completed token transfer.

Evidence: [ERC-20: Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md); [ERC-721: Non-Fungible Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md)

## Claims and scope

### ethereum-token-approvals-quick-answer

A token approval gives another address or contract permission to move specified assets under the token’s rules. ERC-20 uses spending allowances; NFT standards offer token-specific or operator-wide permissions. Disconnecting a website is different from changing an onchain approval, and an approval can remain after the original interaction ends.

Scope: {"collection":"ethereum","dataAsOf":null,"blockHeight":null}

### ethereum-token-approvals-fact-erc-20-allowance

ERC-20 allowance: The remaining amount a spender is authorized to transfer

Scope: {"collection":"ethereum","dataAsOf":null,"blockHeight":null}

### ethereum-token-approvals-fact-nft-scope

NFT scope: A token or an operator-wide permission, depending on the method

Scope: {"collection":"ethereum","dataAsOf":null,"blockHeight":null}

### ethereum-token-approvals-fact-revocation

Revocation: Changes permission; it does not reverse a completed transfer

Scope: {"collection":"ethereum","dataAsOf":null,"blockHeight":null}

## Sources

- [ERC-20: Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md) — Ethereum Request for Comments. Defines fungible token balances, optional display metadata and spending allowance behavior. Locator: Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance. Retrieved: 2026-10-02T14:35:55.037727+00:00.
- [ERC-721: Non-Fungible Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md) — Ethereum Request for Comments. Defines token-specific ownership, transfer approvals, metadata pointers and receiving-contract checks. Locator: Specification; metadata extension; transfer and operator methods. Retrieved: 2026-10-02T14:35:55.241155+00:00.
- [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md) — Ethereum Request for Comments. Defines per-ID balances, batched transfers, receiver checks and operator-wide approval. Locator: Abstract; specification; safe transfer rules; metadata; approval. Retrieved: 2026-10-02T14:35:55.247570+00:00.
- [EIP-1193: Ethereum Provider JavaScript API](https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-1193.md) — Ethereum Improvement Proposals. Defines wallet provider requests, account/chain changes and the boundary between provider communication and wallet permission. Locator: request; events; security considerations; user account exposure. Retrieved: 2026-10-02T14:35:55.037764+00:00.
- [Gas and fees](https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/gas/index.md) — ethereum.org contributors. Supports gas units, ETH/gwei units, base/priority fees, resource limits and charges for executed failed transactions. Locator: How are gas fees calculated; base fee; gas limit. Retrieved: 2026-10-02T14:35:40.393022+00:00.
- [ERC-20 Token Standard](https://eips.ethereum.org/EIPS/eip-20) — Ethereum Improvement Proposals. Token supply, displayed units and balance accounting. Locator: totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer. Retrieved: 2026-10-02T17:03:45.826Z.
- [Permit Extension for EIP-20 Signed Approvals](https://eips.ethereum.org/EIPS/eip-2612) — Ethereum Improvement Proposals. Signed token allowances, deadlines, nonces and domain checks. Locator: Specification; Security Considerations. Retrieved: 2026-10-02T17:03:42.295Z.

## Revision history

- 2026-10-02: First publication after primary-source research and independent automated verification.
- 2026-10-02: Expanded explanation: Connection does not grant the same authority as approval. Worked examples are illustrative; source checks and independent verification are recorded separately.

## Cite this entry

Degrees of Satoshi editorial project. “Token approvals: what a spender can do after you authorize it.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/ethereum-token-approvals/
