Skip to main content
Crypto Readout

Crypto markets, protocols and policy

ERC-20 Allowances: The Approval Behind a Bridge Deposit

An ERC-20 approval lets a bridge contract move a set amount of tokens; the deposit call then starts the bridge’s separate source-chain and destination-chain steps.

By Crypto Readout Editorial3 min read#0eb9ae

Cover artwork for ERC-20 Allowances: The Approval Behind a Bridge Deposit

An ERC-20 allowance gives a named contract permission to move up to a set amount of your tokens; it does not make the bridge deposit by itself. First, your wallet sends an approve transaction to the token contract, naming the bridge’s spender address and amount. Once that approval is recorded, you submit a separate deposit transaction to the bridge. The Polygon Bridge follows this general pattern; a fuller account explains when funds arrive on Polygon PoS.

What does an ERC-20 allowance let a bridge do?

An allowance lets one address spend a limited amount of a token from your address. In the approval transaction, the token contract records your wallet as the owner, the bridge contract as the spender, and the approved amount. The allowance applies to that token and spender pair; approving one token does not approve another, and approving one contract does not approve every contract associated with a bridge.

Think of it as permission to use a specified amount from an account, rather than handing over the account itself. The bridge can call the token’s transferFrom function to take tokens from your wallet, but only within the allowance and subject to your balance. The approval transaction changes that permission. It does not transfer tokens to the bridge or start a deposit.

Why does a bridge deposit often need two transactions?

The bridge needs permission before it can collect tokens from your wallet. That is why a standard deposit can have two on-chain steps:

  • Approve: The wallet calls the token contract’s approve function with the bridge spender and an amount.
  • Deposit: The wallet calls the bridge contract, which uses transferFrom to collect the tokens.
  • Bridge processing: The bridge’s source-chain process records the deposit. A separate process then makes the corresponding funds available on the destination chain, according to that bridge’s design.

Each transaction needs its own confirmation and incurs a network fee on the chain where it is sent. Some tokens and bridges support signed approvals, such as permit flows, that can reduce the number of wallet transactions. That option depends on both contracts supporting it; it is not a feature of every ERC-20 deposit.

How much allowance should you approve?

For a one-off deposit, approving the amount you intend to deposit usually limits the permission to what the bridge needs for that call. Some interfaces request a much larger allowance so later deposits can skip the approval step. That saves a transaction, but it leaves the spender with permission to move more tokens while the allowance remains active.

An approval sets the allowance to the requested value; it does not add that value to an existing allowance. If you change an allowance, check the value shown in your wallet. The ERC-20 standard also advises interfaces to set an existing allowance to zero before changing it to another non-zero value, a pattern some token contracts require.

What should you check before approving?

Check the token, spender address, and amount in the wallet prompt. The spender should be the bridge contract used for the deposit, and the amount should match the permission you mean to grant. Afterward, the allowance can remain even if you leave the bridge site or never submit the deposit. If you no longer need it, you can set it to zero through a compatible wallet or token interface.

The key distinction is simple: approval authorizes token movement; the deposit call requests it. Keeping those steps separate makes it easier to see what permission you are granting and when the bridge actually receives your tokens.