Nonstandard ERC-20 approvals can stop a bridge deposit before tokens move. Some tokens require an existing allowance to be cleared before a new amount is set, while a deposit generally needs an allowance for its source-chain spender. For Ethereum-to-Manta Pacific transfers, Manta Bridge is a concrete case: the token’s approval rule can add a transaction before you deposit.

How can an approval block a deposit?

An ERC-20 allowance is permission for a specific contract to take a set amount of your tokens. On an Ethereum-origin transfer, you grant that permission on Ethereum to the bridge contract or source-chain router; the deposit then calls the token’s transfer function to collect your tokens. Approval and deposit are separate transactions unless the token and integration support a way to combine them.

The common edge case is a token that rejects changing a nonzero allowance directly to another nonzero value. If you previously approved 40 tokens and now want to deposit 100, calling approve(100) may revert. You must first approve(0), wait for confirmation, then approve(100), and only then submit the deposit. The bridge cannot pull the tokens until the required allowance is in place.

Other token quirks can also matter. Some older tokens return no value from approve instead of the Boolean result many contracts expect; robust integrations handle this with safe-transfer wrappers. A token that returns false, charges a transfer fee, or applies special restrictions may still fail at deposit time. Those are token compatibility issues, not a reason to keep retrying the same approval.

What does the extra approval cost?

Each approval is an on-chain transaction, so a zero-first token can mean three transactions instead of two: clear the old allowance, set the new one, then deposit. You pay Ethereum gas for each approval, and each needs its own confirmation. The time and cost depend on network demand and transaction complexity, so check the wallet’s estimate before signing.

For example, if your allowance is 40 USDT and you want to bridge 100 USDT, an illustrative zero-first sequence is approve(0), approve(100), then deposit(100). If the token accepts direct replacement, approve(100) followed by deposit(100) is enough. Approving a much larger amount can reduce repeat approvals, but it leaves more spending permission active if you do not use it.

Permit support can sometimes replace the separate approval transaction with a signed message included in a deposit. This depends on the token implementing a compatible permit standard and the bridge integration accepting it; it is not a general shortcut. Native ETH also does not use an ERC-20 allowance, though a route that wraps ETH into WETH may involve a token approval.

What should you check before retrying?

Check the token allowance for the exact source-chain spender, not simply whether you have approved the token before. A previous allowance for another router, token version, or network does not grant permission here. Confirm that the approval transaction succeeded, then use the token’s required reset sequence if a direct update fails.

Keep the allowance close to the amount you plan to deposit if you want to limit unused permission. After the approval is confirmed, submit the deposit once and check its result before trying again; a failed deposit may still consume gas. For frequent transfers, check whether your token and route support permit-based approval, then compare the saved transaction against the cost of a standard approval. Manta Bridge is the place to apply that check when moving supported tokens between Ethereum and Manta Pacific.