Skip to the article
Blocktide

Crypto markets, chains and policy

Why a token hook can stall a Polygon deposit

A hooked token can make a Polygon deposit revert before the bridge message is sent; the transaction stage helps show whether the hook or a later step is responsible.

By The Blocktide Editors3 min read

Abstract cover artwork

A token hook can stop a Polygon PoS deposit during the Ethereum transfer, before the bridge sends its cross-chain message. The PoS route locks the source asset and then relays a message for the corresponding Polygon token to be minted. That sequence differs from bridge designs that use destination-side liquidity, but both still depend on the source token accepting the transfer.

A hook is code that a token calls during a transfer. ERC-777, for example, allows sender and recipient hooks to reject a movement by reverting. That can matter when the bridge calls a token’s transferFrom to move it into bridge custody. For more on the route’s lock-and-mint sequence, see this explainer on Polygon Bridge transfers between chains. A failed source transfer means the bridge cannot proceed with that deposit.

How can a token hook block a deposit?

The hook runs as part of the token transfer, so its outcome can determine whether the bridge’s first step completes. A sender hook may reject the debit; a recipient hook may reject receipt, depending on the token’s implementation and transfer path. If either call reverts, the whole Ethereum transaction reverts: the token movement and any bridge actions in that transaction are rolled back.

Hooks also give token contracts a way to apply rules during transfers. A token might reject a movement based on its own state or the addresses involved. The trade-off is that a bridge expecting ordinary ERC-20 transfer behavior can encounter extra execution and failure conditions. Other non-standard token rules, such as transfer fees or blacklists, can cause compatibility problems too; a hook is one possible cause, not a diagnosis by itself.

How can you tell whether the hook caused the delay?

Start with the source-chain transaction status, because a reverted transfer and a delayed cross-chain message are different failures. If the Ethereum transaction reverted, inspect its failure details and the token’s transfer behavior. If it succeeded, the source transfer completed; the issue may instead be in message relay, destination execution, or simply how the destination balance is displayed.

Use the transaction record to narrow down the stage:

  • Still pending: the source transaction has not completed, so the bridge transfer has not been confirmed.
  • Reverted: inspect the revert reason and token contract behavior; a hook is one possibility among several.
  • Successful on Ethereum: check whether the bridge emitted its deposit event and whether the corresponding Polygon-side action completed.
  • Completed but not visible in the wallet: verify the destination address and token contract before concluding the deposit failed.

A successful source transaction does not prove every later step has finished. The PoS route sends a message after the asset is locked, and that message must be processed on Polygon. A delay there is downstream of the token hook that ran during the original transfer.

What should you check before trying again?

Confirm the token and route are supported, then check whether the source transaction actually reverted. Repeating a deposit without identifying the failed stage can spend more gas without changing the token’s behavior. If the transaction succeeded, use its bridge event and the destination-chain record to see whether relay or display is the remaining issue.

For most users, the practical distinction is simple: a hook-related failure appears at the source transfer, while a successful source transaction points to a later bridge step. Watch for the revert reason, the deposit event, and evidence that the Polygon-side mint completed. Those signals show whether the token blocked the start or the message stalled after it.