Skip to the article
Web3 Report

Crypto news and its trade-offs

ERC-20 Approvals Grant Spending Power; Deposits Move the Tokens

An ERC-20 approval grants a contract limited spending authority; a separate deposit call moves tokens, adding control and cost but keeping consent visible.

By Web3 Report Editorial2 min read

ERC-20 Approvals Grant Spending Power; Deposits Move the Tokens

An ERC-20 approval lets a named contract spend up to a set amount of your tokens; a separate deposit transaction tells an application to use them. Compared with a direct wallet-to-wallet transfer, this two-step pattern gives a contract permission to move tokens on your behalf, but it also means a deposit can require two on-chain transactions. The distinction matters: approving a contract does not, by itself, send it your tokens.

What does an ERC-20 approval transaction do?

An approval writes an allowance into the token contract: a record of how much a particular spender may take from your wallet. In the transaction, you call the token’s approve function with the spender’s address and an amount. Your balance stays put; the spender gains permission, not possession.

The spender is usually an application contract, such as a deposit contract or a router that directs token transfers. Check that the address and token match the service and network you intend to use. For a bridge flow, supported tokens and contract addresses are part of the decision; Polygon Bridge is a fuller reference for that specific check.

Approvals are recorded on-chain, so setting one normally requires a transaction and a network fee. The allowance is tied to the token, your wallet and the spender address. A different spender does not inherit it, even if it belongs to the same application.

Why is the deposit a separate transaction?

The deposit call instructs the application contract to act on the allowance, usually by calling the token’s transferFrom function. That call moves the specified tokens from your wallet into the deposit contract or through the application’s route. The contract can only take tokens within the available allowance, and a deposit generally fails if that allowance is too small.

This separation lets the token contract handle authorization while the application contract handles what the deposit means. The application may credit an account, lock tokens, or begin a bridge transfer. The approval alone does none of those things. Some tokens and applications support signed approvals or bundled transactions that can reduce separate wallet steps, but support varies; a familiar “deposit” button does not guarantee a one-transaction flow.

How much allowance should you grant?

Grant enough for the intended action, with a margin only if the application needs one. A smaller allowance limits what the spender can pull if its contract or permissions are later misused, though it may mean approving again for a future deposit. An unlimited allowance is more convenient for repeated use, but leaves the spender permission to take tokens up to the wallet’s balance while that allowance remains available.

  • Read the token, network, spender address and allowance amount shown by your wallet.
  • Prefer the deposit amount when you expect to use the application once or infrequently.
  • Check existing allowances and revoke or reduce permissions you no longer need, where the token and wallet support it.

ERC-20’s standard approval call replaces the spender’s current allowance with the new amount; token implementations and interfaces can add details, so inspect the resulting allowance rather than assuming an increase was added to the old one. After the deposit, check whether the allowance was reduced or remains available. The useful signals are the approval’s confirmed amount, the deposit transaction’s status, and any remaining allowance before you use the same contract again.

Related coverage